scheglov@google.com
594c29a13f
Report PRIVATE_OPTIONAL_PARAMETER in more cases.
...
R=brianwilkerson@google.com , jwren@google.com
BUG=
Review URL: https://codereview.chromium.org//18121002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24544 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 19:49:15 +00:00
iposva@google.com
f48d70cec2
- Update analyzer status file: ? operator needs to be removed.
...
Review URL: https://codereview.chromium.org//18050010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24540 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 18:52:55 +00:00
iposva@google.com
50fc824be9
- Remove arguments definition test from the VM.
...
- Update tests still referring to it.
R=regis@google.com
Review URL: https://codereview.chromium.org//17977002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24539 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 18:37:53 +00:00
scheglov@google.com
e5b3f9f855
Report errors for invalid annotations.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//18010002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24529 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 16:58:04 +00:00
fschneider@google.com
fd3f443181
Fix a bug in allocation sinking and load elimination.
...
1. Aliasing information was not computed for allocations that
are never used in a LoadField instruction.
2. CanBeAliased was not correct in the case of a StoreVMField.
BUG=https://code.google.com/p/dart/issues/detail?id=11538
TEST=runtime/vm/flow_graph_optimizer.cc
R=vegorov@google.com
Review URL: https://codereview.chromium.org//18055004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24515 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 13:26:23 +00:00
regis@google.com
169bc2f989
Fix code for store buffer update on ARM and MIPS (link register was trashed).
...
R=zra@google.com
Review URL: https://codereview.chromium.org//17868006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24493 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 22:14:42 +00:00
regis@google.com
5ffa56b798
Fix and simplify invocation of noSuchMethod on all platforms after the wrong
...
number (or bad name) of arguments is passed.
The frame of the wrong method (the one invoked with the wrong number or name of
arguments) is not left on the stack and therefore not visible in the stack trace
anymore, which is much cleaner, especially since the leftover frame was not
fully initialized.
This change was already done on ARM.
R=zra@google.com
Review URL: https://codereview.chromium.org//17857008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24485 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 19:58:49 +00:00
zra@google.com
ce82a777e5
Fixes integer negate intrinsic for arm and mips.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//17847006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24481 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 17:43:48 +00:00
regis@google.com
70043d1f94
Fix and simplify invocation of noSuchMethod on ARM after the wrong number of
...
arguments is passed.
The frame of the wrong method (the one invoked with the wrong number of
arguments) is not left on the stack and therefore not visible in the stack trace
anymore, which is much cleaner, especially since the leftover frame was not
fully initialized.
Note: We should simplify this on other platforms as well.
R=zra@google.com
Review URL: https://codereview.chromium.org//17766005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24475 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 16:31:53 +00:00
fschneider@google.com
7e71783df6
Support type arguments for allocation sinking in certain conditions.
...
The type arguments are treated like a normal field that is initialized
with the type arguments passed to the allocation stub. This CL restricts
the optimization to the case where no instantiator is passed
(instantiator == kNoInstantiator). In this case the type arguments are
either a constant or loaded from a field.
Also: improve variable liveness analysis by pruning partially dead
variables from the environment. At the beginning of each block, all
variables that are _not_ in live-in are replaced with null.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//16799003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24459 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 09:20:46 +00:00
fschneider@google.com
b76b3bbbf4
Correctly deal with method invocation of a getter.
...
If getter lookup succeeds, but getter invocation throws
an exception, the result is the thrown exception and
not as previously noSuchMethod invocation.
BUG=https://code.google.com/p/dart/issues/detail?id=11512
TEST=tests/language/method_invocation_test.dart
R=srdjan@google.com
Review URL: https://codereview.chromium.org//17675002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24457 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 08:44:00 +00:00
kasperl@google.com
1e6c3a1998
Remove support for 'argument definitions test' from dart2js.
...
R=ngeoffray@google.com
BUG=
Review URL: https://codereview.chromium.org//17825002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24455 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 08:02:25 +00:00
iposva@google.com
11632110c6
- Revert r24441 until issues found have been addressed.
...
Review URL: https://codereview.chromium.org//17769004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24443 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 23:38:45 +00:00
iposva@google.com
ddc3e13f8a
- Trial balloon for removal of argument definition test.
...
This change removes the support for the ? operator.
R=asiva@google.com , hausner@google.com
Review URL: https://codereview.chromium.org//17765003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24441 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 23:04:19 +00:00
jwren@google.com
5b4546b4ec
Combine TYPE_ARGUMENT_VIOLATES_BOUNDS and TYPE_ARGUMENT_NOT_MATCHING_BOUNDS into TYPE_ARGUMENT_NOT_MATCHING_BOUNDS, and cover remaining TypeName cases.
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//17575018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24435 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 22:06:54 +00:00
zra@google.com
99772465b5
Updates status files for arm hardware
...
R=regis@google.com
Review URL: https://codereview.chromium.org//17732002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24431 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 20:16:02 +00:00
zra@google.com
5bf5a92064
Fixes bugs in arm and mips intrinsifier.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//17634003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24427 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 18:58:47 +00:00
vegorov@google.com
370a99eda4
Refactor load forwarding pass to use a Place abstraction.
...
Place describes a location that code can load from or store to.
Start forwarding loads through phis.
Previously load forwarding operated directly on load instructions which complicated certain things e.g. implementation of a hash map had to allow looking up a load instruction by store instruction, forwarding through phis might have required introducing synthetic load instructions to be put into the map.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//17101028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24426 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 18:50:26 +00:00
kmillikin@google.com
8fa4f3134a
Add an exhaustive test of for loops.
...
Test 52 different versions of for loops created by including or leaving
off various bits of the loop structure.
BUG=
R=iposva@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//17553003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24384 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 07:50:44 +00:00
johnmccutchan@google.com
db9f4d4ef7
Remove --disable_privacy
...
BUG=https://code.google.com/p/dart/issues/detail?id=11493
R=hausner@google.com
Review URL: https://codereview.chromium.org//17621003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24374 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 22:45:12 +00:00
zra@google.com
8edda78ccc
Enables more tests for SIMMIPS.
...
. Fixes register allocation bugs
. Implements float <-> double conversion in assembler and simulator.
. Fixes floating point argument passing for simarm and simmips,
and floating point return for simarm, and adjusts tests to match.
R=regis@google.com
Review URL: https://codereview.chromium.org//17502002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24365 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 20:16:16 +00:00
scheglov@google.com
72ae727f63
Report CompileTimeErrorCode.CONFLICTING_METHOD_AND_GETTER
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//17580004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24360 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 18:38:31 +00:00
kasperl@google.com
2aed492df2
Update ie9 status after tweaking inlining heuristics.
...
R=ngeoffray@google.com
BUG=
Review URL: https://codereview.chromium.org//17575014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24358 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 18:31:58 +00:00
scheglov@google.com
b0da45bbab
Report CompileTimeErrorCode.INSTANCE_STATIC_MEMBER
...
R=brianwilkerson@google.com , jwren@google.com
BUG=
Review URL: https://codereview.chromium.org//17587004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24353 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 17:36:16 +00:00
fschneider@google.com
0bf7251d1a
Reland: Optimizing noSuchMethod invocation with no arguments.
...
This is the same CL as https://codereview.chromium.org/17315008/ with
one bug fixed:
If a method is invoked with a mismatching number of arguments, we don't
add a no-such-method-dispatcher function since the dispatcher currently
can only invoke noSuchMethod and would not work if the method
is invoked with correct arguments at a later point.
I extended the test to cover that case.
TEST=tests/language/no_such_method_dispatcher_test.dart
R=srdjan@google.com
Review URL: https://codereview.chromium.org//17571010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24351 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 17:18:51 +00:00
scheglov@google.com
ad8cb0aeed
Report CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE when 'new' even if 'const' constructor.
...
R=brianwilkerson@google.com , jwren@google.com
BUG=
Review URL: https://codereview.chromium.org//17573004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24346 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 16:38:36 +00:00
scheglov@google.com
4aba9a97c1
More cases to report IMPLICIT_THIS_REFERENCE_IN_INITIALIZER
...
R=brianwilkerson@google.com , jwren@google.com
BUG=
Review URL: https://codereview.chromium.org//17569007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24345 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 16:34:35 +00:00
scheglov@google.com
c5f42c2fb3
Report CTEC.INSTANCE_MEMBER_ACCESS_FROM_STATIC
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//17587006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24343 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 16:20:48 +00:00
scheglov@google.com
b4ec80d99d
Report NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT as CTEC.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//17581003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24342 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 16:16:26 +00:00
karlklose@google.com
63d4b42a35
Update dart2dart test expectations.
...
R=ngeoffray@google.com
Review URL: https://codereview.chromium.org//17578004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24334 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 13:50:00 +00:00
vegorov@google.com
35ce4d245f
Ensure that allocation sinking candidates are classified as not-aliased before final load forwarding.
...
R=fschneider@google.com
BUG=dart:11436
Review URL: https://codereview.chromium.org//17577007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24325 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 12:16:10 +00:00
johnniwinther@google.com
eb2b22d356
Remove dart2dart status failures.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//17569012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24321 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 10:46:56 +00:00
kasperl@google.com
3f478e5a87
Fix issue 11398 by making sure we look at mixin applications
...
when trying to figure out if an element can be hit with a
typed selector.
R=ngeoffray@google.com
BUG=http://dartbug.com/11398
Review URL: https://codereview.chromium.org//17583007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24315 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 09:27:38 +00:00
johnniwinther@google.com
28acc13c57
Update status files.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//17573005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24313 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 09:09:07 +00:00
johnniwinther@google.com
2432ac4647
Support runtime check of function types.
...
New scheme for checking function subtyping:
1) Generate an $isX predicate on objects that are statically known subtypes of a given function type
2) Generate a signature encoding the whole function type on objects when a runtime check is needed.
A check succeeds if either 1) or 2) is true.
If too many predicates are needed a signature is generated instead, and if a signature is needed, no predicates are generated. Maximum number of predicates is currently determined by the magic constant MAX_FUNCTION_TYPE_PREDICATES in emitter.dart.
R=karlklose@google.com
Committed: https://code.google.com/p/dart/source/detail?r=24286
Review URL: https://codereview.chromium.org//12334070
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24309 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 06:58:55 +00:00
johnniwinther@google.com
90bf6203ee
Revert "Support runtime check of function types."
...
This reverts commit r24286.
BUG=
Review URL: https://codereview.chromium.org//17413013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24288 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 14:02:47 +00:00
johnniwinther@google.com
2ce76ed94a
Support runtime check of function types.
...
New scheme for checking function subtyping:
1) Generate an $isX predicate on objects that are statically known subtypes of a given function type
2) Generate a signature encoding the whole function type on objects when a runtime check is needed.
A check succeeds if either 1) or 2) is true.
If too many predicates are needed a signature is generated instead, and if a signature is needed, no predicates are generated. Maximum number of predicates is currently determined by the magic constant MAX_FUNCTION_TYPE_PREDICATES in emitter.dart.
R=karlklose@google.com
Review URL: https://codereview.chromium.org//12334070
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24286 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 13:35:56 +00:00
fschneider@google.com
48555c83ac
Back out r24266 to investigate dartium test failure.
...
TBR=kmillikin@google.com
Review URL: https://codereview.chromium.org//17074003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24284 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 11:56:32 +00:00
fschneider@google.com
ab1981b421
Optimizing noSuchMethod invocation with no arguments.
...
On each call that triggers a noSuchMethod invocation we
attach a custom dispatch function that allocates the
invocation object and invokes noSuchMethod. This dispatcher
is compiled and optimized like a normal Dart function.
Similar to method-extractors, these implicit dispatchers
do not show up as normal functions.
As a first step this CL only handles invocations of getters
and methods with no like o.foo or o.foo(). This CL gives
a >25x speedup of such noSuchMethod invocations. Calls with
multiple arguments still go through the slow path.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//17315008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24266 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 07:31:51 +00:00
ngeoffray@google.com
54e2031f1b
Fix a bug in how we deal HTypeConversion during type propagation: we can only convert to int if the input is int or null.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//17003004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24230 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 14:10:52 +00:00
karlklose@google.com
28d5718b86
Add type arguments to constants.
...
R=ngeoffray@google.com
Review URL: https://codereview.chromium.org//16549004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24223 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 12:52:12 +00:00
karlklose@google.com
c026d59c27
Fix type variables in closures.
...
BUG=dartbug.com/11258
R=johnniwinther@google.com , ngeoffray@google.com
Review URL: https://codereview.chromium.org//17262003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24217 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 11:35:44 +00:00
kmillikin@google.com
632ac9f2c9
Fix a bug in graph construction for for loops.
...
A refactoring in SVN r24088 introduced a bug in for loops. Loops with
continue in the body and an empty update expression list will lose the
edge from the continue to the loop entry.
R=fschneider@google.com
BUG=11375
Review URL: https://codereview.chromium.org//17491003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24214 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 10:17:34 +00:00
regis@google.com
68041e2d0d
Fix more register allocation bugs in optimized code on ARM.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//17176004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24191 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-19 16:21:27 +00:00
ngeoffray@google.com
b82ae7da0b
We have to create different locals when analyzing a closure. Otherwise the inferrer visitor might think an aborting body in a closure aborts the enclosing function.
...
R=karlklose@google.com
Review URL: https://codereview.chromium.org//16959009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24181 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-19 13:21:08 +00:00
jwren@google.com
7863ffc9d6
Implement new error code: StaticTypeWarningCode.NON_TYPE_AS_TYPE_ARGUMENT
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//17085003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24155 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-18 18:01:05 +00:00
zra@google.com
8240363b78
Enables co19 tests for SIMMIPS.
...
Also fixes a bug in division.
R=regis@google.com
Review URL: https://codereview.chromium.org//17312003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24147 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-18 15:51:27 +00:00
scheglov@google.com
36ace54ada
Convert isX() methods to isX getter.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//17317002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24115 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 23:02:36 +00:00
jwren@google.com
695e4fe944
Fix status files for analyzer build
...
Review URL: https://codereview.chromium.org//17066006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24114 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 22:47:46 +00:00
scheglov@google.com
4d79a15ce3
New analyzer_experimental snapshot.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//17249003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24109 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 21:04:45 +00:00