ngeoffray@google.com
4faf51d44f
Fix issue 5517 by setting the successors the right way in a try/catch.
...
Review URL: https://codereview.chromium.org//10987073
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12998 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-28 09:12:04 +00:00
ngeoffray@google.com
aa5abf7c3a
Enable runtime type when it's being hit at resolution.
...
Review URL: https://codereview.chromium.org//10993075
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12993 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-28 08:08:18 +00:00
zerny@google.com
e116cbf63c
Fix incorrect type annotation in new test.
...
TBR=kmillikin@google.com
Review URL: https://codereview.chromium.org//11000044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12991 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-28 07:37:50 +00:00
zerny@google.com
02822c775b
Inlining functions with control flow.
...
Functions containing control flow are now inlined and incrementally extend the graph in SSA form. For the special case of a function with only one exit, we locally update the dominator tree. If multiple exits occur, we currently recompute the dominator tree for the full resulting graph.
Review URL: https://codereview.chromium.org//10967007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12990 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-28 07:10:06 +00:00
regis@google.com
957be60140
Skip flaky negative tests for factory redirection on dartc (issue 5538).
...
Review URL: https://codereview.chromium.org//10982083
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12987 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 23:34:42 +00:00
iposva@google.com
baf87f3a43
Update test expectations:
...
- Passing tests for dart2dart.
- Failing test for dart2js.
Review URL: https://codereview.chromium.org//10993068
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12984 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 22:20:30 +00:00
iposva@google.com
b85f604f66
- Implement first class types in the VM.
...
- Make AbstractType a subclass of Instance and map it and its subclasses
to private Dart classes in dart:core implementing the Type interface.
- Avoid dispatching through statics in Object if not strictly needed.
Review URL: https://codereview.chromium.org//10979058
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12981 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 21:19:00 +00:00
regis@google.com
32e21214af
Change dartc test status from Fail to Crash for a newly added test.
...
Review URL: https://codereview.chromium.org//10986070
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12979 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 18:06:04 +00:00
scheglov@google.com
a7a4a4411f
Issue 5447. Wern when concrete class has unimplemented members
...
http://code.google.com/p/dart/issues/detail?id=5447
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//10987076
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12977 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 18:01:10 +00:00
regis@google.com
ccacc62ec6
Change many instance creation errors from compile-time errors to dynamic errors
...
per revised spec (issue 3801).
Add negative tests for factory redirection.
Review URL: https://codereview.chromium.org//10979053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12975 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 17:52:35 +00:00
ngeoffray@google.com
3d095ba4a6
Update status file to fix the bot.
...
Review URL: https://codereview.chromium.org//10990082
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12967 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 14:54:51 +00:00
ahe@google.com
1c518f6169
Separate compile-time and runtime errors.
...
Review URL: https://codereview.chromium.org//10977054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12964 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 14:31:05 +00:00
sgjesse@google.com
5a1a2831e8
Change the type inference for fields in dart2js
...
The type inference for fields now uses the same mechanism as is
used for type inference for arguments and return types. That
means that compilation is optimistically taking the current
inferred type for a field. When an inferred type for a field
changes all functions previously compiled under the previous type
assumption are scheduled for recompilation.
There is special handling of constructors where fields which are
always set in a constructor is identified. This is done to avoid
having to combine with the null type which can be set by the
initializer list.
This change removes the two phase compilation previously used for
inferring field types.
R=kasperl@google.com , ngeoffray@google.com
BUG=
Review URL: https://codereview.chromium.org//10964016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12956 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 13:21:05 +00:00
lrn@google.com
37197c2553
Stop using the Hashable interface.
...
All objects have a hashCode method, so there is no need for a Hashable
interface.
The interface itself is retained for at least two weeks, to give time for
code to remove uses of it.
Review URL: https://codereview.chromium.org//10993059
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12955 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 13:07:54 +00:00
ngeoffray@google.com
6b3b096ad4
Fix dart2dart bot
...
Review URL: https://codereview.chromium.org//10984068
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12954 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 13:01:15 +00:00
ngeoffray@google.com
04637e33be
Fix dartium bots.
...
Review URL: https://codereview.chromium.org//10982063
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12949 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 11:53:05 +00:00
ngeoffray@google.com
dc6d97e2d4
Update test to new API and have the _test suffix.
...
Review URL: https://codereview.chromium.org//10996043
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12947 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-27 11:36:18 +00:00
hausner@google.com
5411a33a48
Address Siva's review comment
...
Review URL: https://codereview.chromium.org//10985054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12932 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-26 21:26:44 +00:00
srdjan@google.com
0c9dd53739
More compact code for strict compare with 0.
...
Noticed while tracking mysterious Bubblesort performance degradation.
Review URL: https://codereview.chromium.org//10984051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12929 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-26 21:00:51 +00:00
hausner@google.com
a241a7bae6
Make throw an expression
...
Throw e is now an expression rather than a statement. The language
spec says that throw without an expression (i.e. rethrowing the
current exception) is an expression as well. I have not implemented
this. It is rather difficult to determine at expression level whether
the keyword "throw" is followed by an expression or not. Thus,
throw without an expression is only allowed at statement level.
I think we should change the language spec to that effect.
Review URL: https://codereview.chromium.org//10982051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12928 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-26 20:53:36 +00:00
ngeoffray@google.com
3628cb7167
Order the parameters of a function at the definition site.
...
Review URL: https://codereview.chromium.org//10991034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12904 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-26 12:40:08 +00:00
ager@google.com
7977b42215
Update all occurrences of raw strings.
...
R=hausner@google.com ,kasperl@google.com
BUG=
Review URL: https://codereview.chromium.org//10977027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12893 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-26 06:01:23 +00:00
srdjan@google.com
51011ad470
Fix incorrect strict not-equal comparison when both arguments are constants.
...
Review URL: https://codereview.chromium.org//10977021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12881 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 20:59:37 +00:00
srdjan@google.com
8415b6e37c
In strict comarison use constants instead of registers if possible.
...
Review URL: https://codereview.chromium.org//10977020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12879 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 20:34:15 +00:00
hausner@google.com
428258ff2d
Convert raw strings to new syntax
...
Review URL: https://codereview.chromium.org//10981026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12878 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 20:09:34 +00:00
hausner@google.com
f4dd77f9e0
Update status for dartc
...
Review URL: https://codereview.chromium.org//10990036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12865 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 18:13:22 +00:00
hausner@google.com
ffedcb612d
Make assert a reserved word
...
Issue 5051.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12861 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 17:59:35 +00:00
hausner@google.com
c13e591405
Implement part header
...
This is the final piece in the new import syntax.
Review URL: https://codereview.chromium.org//10989010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12850 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 16:45:14 +00:00
scheglov@google.com
7f8731cb50
Issue 5292. Unreferenced imported identifiers should not be an error
...
http://code.google.com/p/dart/issues/detail?id=5292
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//10979013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12847 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 16:34:48 +00:00
lrn@google.com
a1faa6f135
Change IllegalArgumentException to ArgumentError.
...
Review URL: https://codereview.chromium.org//10989013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12841 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 12:27:52 +00:00
ngeoffray@google.com
dfdaec4442
Make sure we can use JavaScript properties on Object as classes.
...
Review URL: https://codereview.chromium.org//10978017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12829 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-25 09:05:22 +00:00
hausner@google.com
8b24cec548
Fix dartium-drt status
...
Review URL: https://codereview.chromium.org//10983014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12821 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 23:26:25 +00:00
hausner@google.com
aaf9159b8a
Implement part directive
...
This replaces the existing #source directive.
Review URL: https://codereview.chromium.org//10985005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12818 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 23:18:04 +00:00
hausner@google.com
6cb96b50e6
Fixium for dartium
...
Review URL: https://codereview.chromium.org//10982009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12809 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 21:29:31 +00:00
hausner@google.com
01510c327f
Fix analyzer status
...
Review URL: https://codereview.chromium.org//10991002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12806 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 21:09:13 +00:00
hausner@google.com
201bce4219
Support for show/hide combinators
...
- Add a new VM object called a Namespace.
- A Namespace is a library, and two list of names to hide/show.
- Convert Library and LibraryPrefix to contain Namespace
objects instead of Libraries in their import list.
Review URL: https://codereview.chromium.org//10967052
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12804 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 20:46:56 +00:00
regis@google.com
61297238fb
Support redirecting factory constructors in the VM (issue 3969).
...
Add test (negative tests still missing).
Some more work is needed regarding when to throw a dynamic error and when to
report a compile-time error. Some questions are not answered by the spec.
Review URL: https://codereview.chromium.org//10964058
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12791 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 17:28:37 +00:00
antonm@google.com
b7cae637a7
Support Dynamic type with a prefix.
...
R=smok@google.com
BUG=5398
Review URL: https://codereview.chromium.org//10969070
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12786 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 16:20:41 +00:00
vegorov@google.com
6560f5c84b
Fix convergence issues in range analysis.
...
Split it into three phases: initialization, widening and narrowing.
During widening and narrowing phi-ranges change according to classical widening and narrowing operators defined as:
Widening:
[_|_, _|_] v [a, b] = [a, b]
[a, b] v [c, d] = [c < a ? -inf : a, d > b ? +inf : b]
Narrowing:
[a, b] ^ [c, d] = [(a == -inf) ? c : min(a, c), (b == +inf) ? d : max(b, d)]
R=fschneider@google.com
Review URL: https://codereview.chromium.org//10972003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12772 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 12:00:19 +00:00
antonm@google.com
e71177f89d
Properly process dart:core classes if dart:core is imported with prefix.
...
In this case we force prefix omission. However, there is a twist: when
visit prefix.name form in send visitor later, we cannot tell it from
dynamic invocation and hence to play safe we add platform libs class name
to the set of forbidden names.
Also, most probably we need a proper support for top-level from dart:core.
R=smok@google.com
BUG=5345
Review URL: https://codereview.chromium.org//10966044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12766 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 10:09:45 +00:00
ahe@google.com
c74ffeffeb
Mark failing test as such
...
Review URL: https://codereview.chromium.org//10969056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12745 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-22 08:48:45 +00:00
vegorov@google.com
17907d32de
Implement range analysis for smi values.
...
And use it to eliminate overflow checks on + and - operations.
Review URL: https://codereview.chromium.org//10960014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12733 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 20:06:31 +00:00
zerny@google.com
2f549da394
Use the inner deoptimization frame when setting incoming arguments.
...
This fixes issue 5318 where deoptimization of an inlined call resulted in an
incorrect value being set in the deoptimized frames.
R=vegorov@google.com
BUG=5318
Review URL: https://codereview.chromium.org//10963027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12715 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 14:58:30 +00:00
ahe@google.com
d71bc06273
Implement Object.hashCode()
...
Review URL: https://codereview.chromium.org//10965034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12704 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 13:34:57 +00:00
ahe@google.com
0e87e95d1d
Update status.
...
I fixed a crash with my changes to ElementListener.handleQualified in CL 10911298.
Review URL: https://codereview.chromium.org//10969034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12702 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 13:14:32 +00:00
ngeoffray@google.com
d6c843ab07
Make dartc happy.
...
Review URL: https://codereview.chromium.org//10969033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12699 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 13:01:15 +00:00
ngeoffray@google.com
701caab5de
Correctly handle const constructors with type parameters.
...
Review URL: https://codereview.chromium.org//10970006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12697 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 12:45:51 +00:00
antonm@google.com
354e68432a
Remove suppression for fixed issue.
...
TBR=smok@google.com
Review URL: https://codereview.chromium.org//10967039
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12695 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 12:08:34 +00:00
ahe@google.com
b2950833dd
Update test status after implementing library syntax.
...
Review URL: https://codereview.chromium.org//10970036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12694 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 11:44:02 +00:00
antonm@google.com
7aa87c0e60
Update dart2dart expectations after r12686 "Parse new library syntax."
...
TBR=ahe@google.com ,smok@google.com
Review URL: https://codereview.chromium.org//10956033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12689 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 10:39:59 +00:00