Commit Graph

1205 Commits

Author SHA1 Message Date
ahe@google.com 3fe58689eb Fix bug in bound_closure_test.
R=floitsch@google.com

Review URL: https://codereview.chromium.org//119933002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31335 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 13:26:47 +00:00
ngeoffray@google.com 8eec1819c9 Re-apply: Trace static tear-off closures.
Review URL: https://codereview.chromium.org//110383008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31321 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 07:53:42 +00:00
sra@google.com 09e8586914 Test for interceptor convention closurized methods
R=ahe@google.com

Review URL: https://codereview.chromium.org//119683004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31316 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 02:44:37 +00:00
sra@google.com fbef6e99dd Redo "Dummy receiver optimization"
Work around Issue 15720

R=floitsch@google.com

Review URL: https://codereview.chromium.org//102833009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31307 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 23:18:45 +00:00
ngeoffray@google.com 21f262a69d Revert revision 31272, some unit tests fail.
Review URL: https://codereview.chromium.org//119183003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31273 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 13:53:43 +00:00
ngeoffray@google.com e440eebdea Trace static tear-off closures.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//112103007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31272 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 13:39:53 +00:00
lry@google.com cb4f2d99a8 fix status file
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//119233002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31271 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 13:38:05 +00:00
lry@google.com 6cf5aca53e tests for inlining between IR and AST functions
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//108333007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31256 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 11:33:07 +00:00
sra@google.com 963e6d6af1 Revert "Dummy receiver optimization"
R=floitsch@google.com
BUG=

Review URL: https://codereview.chromium.org//102833008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31251 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 06:11:05 +00:00
sra@google.com a4966dada1 Dummy receiver optimization
When we replace an interceptor with the intercepted object (a 'self-interceptor')

  m = getInterceptor(a);
  m.method(a)
-->
  a.method(a)

we can replace the receiver with a dummy value:

-->
  a.method(0)

provided the method never accesses the explicit interceptor argument.  This condition is satisfied for methods that are not mixed into native classes.

We create a DummyReceiverConstant to ensure the dummy receiver argument has the correct type.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//108553006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31250 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 03:55:27 +00:00
ngeoffray@google.com c964485a49 Re-apply: Fix regression on side effects of tdiv.
R=lry@google.com

Review URL: https://codereview.chromium.org//116773003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31216 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 09:24:27 +00:00
ngeoffray@google.com 3504054b69 Revert r31212. Some tests fail.
Review URL: https://codereview.chromium.org//107673004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31215 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 08:52:16 +00:00
ngeoffray@google.com 67236b7f71 Fix regression on side effects of tdiv.
R=sra@google.com

Review URL: https://codereview.chromium.org//111553003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31212 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 07:35:10 +00:00
ngeoffray@google.com 9251586cd9 Re-apply: Implement tracing for function expressions and statements, and infer types of parameters of these closures.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//98053005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31186 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 12:01:10 +00:00
lry@google.com d110624965 Revert "Implement tracing for function expressions and statements, and infer types of parameters of these closures."
Review URL: https://codereview.chromium.org//116443002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31168 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 16:21:54 +00:00
ngeoffray@google.com ae031a4270 Implement tracing for function expressions and statements, and infer types of parameters of these closures.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//111803002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31165 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 15:38:26 +00:00
ngeoffray@google.com 5cd7d7ca25 != is a shortcut to == true, so it returns a boolean.
R=polux@google.com

Review URL: https://codereview.chromium.org//108613003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31130 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-13 13:02:14 +00:00
whesse@google.com 152cf1e3fe Mark failing dart2js_extra isolate test on chromeOnAndroid platform. Mark two flaky tests with timeouts.
BUG=dartbug.com/14458
R=kustermann@google.com

Review URL: https://codereview.chromium.org//113943002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31096 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-12 14:24:06 +00:00
karlklose@google.com d00f1d3817 Mark test as CRASH, PASS.
R=floitsch@google.com

Review URL: https://codereview.chromium.org//112693002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31063 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-11 10:46:19 +00:00
sigurdm@google.com 5151cdc3f8 Option to dump information about compilation
This is a first draft of the feature.

The flag '--build-info' activates this feature.
The dump will go into out.js.info.html.
It contains information about used elements (libraries, functions,
fields, typedefs and classes) of the program:
- Inferred types
- generated code
- members
- size

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//90713003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31060 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-11 09:34:00 +00:00
jacobr@google.com 4dd740e2de Fix bug 15417
BUG=
R=blois@google.com

Review URL: https://codereview.chromium.org//103933005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31032 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 18:25:41 +00:00
ngeoffray@google.com a8a535a8bb Optimize num::~/, num::>> and num::<< for some cases.
R=floitsch@google.com, kasperl@google.com

Review URL: https://codereview.chromium.org//106973008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31023 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 15:59:19 +00:00
ngeoffray@google.com 46e9378ef5 Increase the number of compiled methods due to change of SSA inlining code.
Review URL: https://codereview.chromium.org//106533004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31018 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 13:03:04 +00:00
johnniwinther@google.com 1f1ecff14d Handle @proxy classes in type checker.
BUG=http://dartbug.com/15049
R=karlklose@google.com

Review URL: https://codereview.chromium.org//98533005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31011 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-10 09:34:25 +00:00
ahe@google.com 36a7bd79d7 Fix issues that caused revert of r30955:
* Don't emit reflection info for unapplicable members (constructors).
* Correctly identify unreflectable members supporting Function.apply.
* Don't crash when computing function types of top-levels.

Committed along with https://codereview.chromium.org/98073005.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//108923003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30974 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-08 10:29:16 +00:00
ahe@google.com e072937b0e Revert "Generate tear-off closures dynamically."
This reverts r30955.

Review URL: https://codereview.chromium.org//103863004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30961 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-06 19:58:10 +00:00
ahe@google.com abf0cfa8fd Generate tear-off closures dynamically.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//27524003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30955 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-06 17:41:52 +00:00
floitsch@google.com c6ccf65f48 Update test.
Review URL: https://codereview.chromium.org//103163005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30945 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-06 12:50:21 +00:00
ngeoffray@google.com 5b929f9320 Trace lists when they are stored into other lists.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//104893007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30943 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-06 11:37:04 +00:00
ahe@google.com 53d500dee0 Implement dynamic function checks.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//50313007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30932 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-06 06:47:07 +00:00
rmacnak@google.com 9a5c770381 Remove use of deprecated mirror API from code that only runs against dart2js.
R=ahe@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org//105453004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30902 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-05 17:52:42 +00:00
johnniwinther@google.com 374cabd3ed Add synthetic type variables to unnamed mixin applications.
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//88153003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30892 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-05 13:01:43 +00:00
ahe@google.com 42ca3264b1 MirrorsUsed values are interpreted differently based on position, so they must be cached in different caches.
This is the correct fix for what r30615 and r30626 worked around.

Revert "Fix host-checked mode error."

This reverts r30615.

Revert "Most host-checked fixes."

This reverts r30626.

R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//105213002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30890 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-05 12:27:38 +00:00
lrn@google.com 80a72834c4 Remove dart2js whitelisting of typed_data_dart2js for analyzis.
BUG= http://dartbug.com/15418

Review URL: https://codereview.chromium.org//103803004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30885 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-05 10:03:15 +00:00
ahe@google.com 8375ade7c4 Check that non-abstract classes implement all methods.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//18029018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30859 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-04 17:17:23 +00:00
ahe@google.com 6201131eac Remove unused API.
R=johnniwinther@google.com, polux@google.com

Review URL: https://codereview.chromium.org//99303004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30853 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-04 12:59:25 +00:00
johnniwinther@google.com f70fb202a4 Compute suggestions for failed type promotions.
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//88483002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30845 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-04 10:18:18 +00:00
ahe@google.com 25a116274f Don't emit unused hints when there are compilation errors.
Also, revert "Ignore unused hints." (r30795).

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//98663003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30796 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-02 14:38:49 +00:00
ahe@google.com 18be69f15d Ignore unused hints.
Review URL: https://codereview.chromium.org//98803003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30795 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-02 13:14:09 +00:00
sigurdm@google.com 32d23ac83e Fix ElementVisitor
BUG=
R=ahe@google.com, kasperl@google.com

Review URL: https://codereview.chromium.org//96873002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30787 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-29 15:14:03 +00:00
sigurdm@google.com 4a5c8a0ceb Add a visitor for Elements
Also make ElementX abstract.
BUG=
R=ahe@google.com

Review URL: https://codereview.chromium.org//96623004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30780 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-29 11:53:32 +00:00
ngeoffray@google.com 28676cb1cd Fix ContainerTypeMask== and ContainerTypeMask.hashCode.
R=lry@google.com

Review URL: https://codereview.chromium.org//94873002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30760 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-28 13:10:08 +00:00
ngeoffray@google.com a0b92e0357 Add another type JSPositiveInt to show a range analysis in the inferrer would be very beneficial :-).
R=kasperl@google.com

Review URL: https://codereview.chromium.org//94303002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30759 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-28 11:22:35 +00:00
ngeoffray@google.com ec6e6d5d13 More unit test fixes after IR returns different int types for inferrer.
Review URL: https://codereview.chromium.org//94463002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30754 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-28 09:39:35 +00:00
ngeoffray@google.com 3da6f499df Fix unit tests.
Use ioore instead of throw to recognize throwing a range error.
The new IR now recognizes different int types.

Review URL: https://codereview.chromium.org//94453002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30753 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-28 09:35:00 +00:00
zarah@google.com eea963de91 Move registration of type variable constants to resolution.
R=ahe@google.com, karlklose@google.com

Review URL: https://codereview.chromium.org//73403003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30751 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-28 09:23:54 +00:00
karlklose@google.com f0443b361e Emit a compile-time error when using type literals in case-expressions.
BUG=dartbug.com/15295
R=johnniwinther@google.com, ngeoffray@google.com

Review URL: https://codereview.chromium.org//88433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30707 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 11:34:37 +00:00
ngeoffray@google.com 9e3fa2d0b7 Use the integer type to get rid of above 0 checks in bounds checks.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//91103003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30705 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 10:21:48 +00:00
johnniwinther@google.com 4ff13b1b24 Check compiler exitCode.
R=ahe@google.com

Review URL: https://codereview.chromium.org//80793002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30696 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 08:18:33 +00:00
ngeoffray@google.com ca1cf5e831 Add UInt32 and UInt31 types to better infer bit operations.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//87783003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30693 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 07:41:52 +00:00