Commit Graph

35 Commits

Author SHA1 Message Date
Johnni Winther 090f20fc5d Handle constructor declarations.
+ default values
+ if-null and set-if-null

R=het@google.com

Review URL: https://codereview.chromium.org/2396173003 .
2016-10-10 11:35:54 +02:00
Johnni Winther 9c1ad56116 Handle const constructor invocation in kernel_impact.
This includes a move toward registering the type together with constructors which is need for this CL and (later) for not registering classes with factories as instantiated.

R=het@google.com

Review URL: https://codereview.chromium.org/2392943003 .
2016-10-10 11:03:11 +02:00
Johnni Winther dd2f0a9bd0 Eagerly compute closure classes
- and use elements instead of nodes as key

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2387353002 .
2016-10-07 10:53:34 +02:00
Johnni Winther 1b2e857f19 Roll kernel to latest
+ fix default constructor encoding
+ match fall-through error handling
+ handle typedef tests
+ speed up visitor_test by reusing the Compiler object

R=het@google.com

Review URL: https://codereview.chromium.org/2392863002 .
2016-10-05 10:36:37 +02:00
Johnni Winther 3fb04e3495 Handle getters/setters and try in kernel_impact.
R=het@google.com

Review URL: https://codereview.chromium.org/2375613003 .
2016-09-30 10:03:01 +02:00
Johnni Winther ee42a0524a Handle constructor invocation, is, as, throw, for-in and (a)sync(*) in kernel_impact
R=het@google.com

Review URL: https://codereview.chromium.org/2377623002 .
2016-09-30 09:58:11 +02:00
Johnni Winther 93d7c65cc9 Handle fields with initializers in kernel_impact
- and use Feature.TYPE_VARIABLE_BOUNDS_CHECK only for new-expressions.

R=het@google.com

Review URL: https://codereview.chromium.org/2366263004 .
2016-09-30 09:50:53 +02:00
Harry Terkelsen 81e13861fb kernel->ssa: implement assert statements
R=johnniwinther@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/2380573004 .
2016-09-29 14:17:13 -07:00
Harry Terkelsen 71613d72a8 kernel->ssa: implement for-in loops
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2377813002 .
2016-09-28 10:20:26 -07:00
Johnni Winther 62f6c08959 Perform MixinFullResolution before baseline test.
R=asgerf@google.com, het@google.com

Review URL: https://codereview.chromium.org/2367793002 .
2016-09-26 10:54:31 +02:00
Johnni Winther 3d533a08f2 More kernel_impact.
R=het@google.com

Review URL: https://codereview.chromium.org/2360773003 .
2016-09-23 11:01:53 +02:00
Johnni Winther a52683ff9b Handle calls to redirecting factories.
R=het@google.com

Review URL: https://codereview.chromium.org/2361783002 .
2016-09-23 10:03:49 +02:00
Johnni Winther 7a570f1b80 Roll kernel to latest and add baseline test.
The added visitor_test tests that the IR generated by the KernelVisitor
in dart2js matches the spec-mode IR.

R=asgerf@google.com, het@google.com

Review URL: https://codereview.chromium.org/2360603002 .
2016-09-22 10:16:11 +02:00
Harry Terkelsen 3a01cbd31c kernel->ssa: Implement for-loops and while-loops
This involved splitting out the loop handling logic from the
original SSA builder and sharing it with the kernel builder.
This was just the easiest way to do this for now, but in the future
we should write the loop handler for kernel to take into account
the simplified structure that kernel provides.

R=sra@google.com

Review URL: https://codereview.chromium.org/2360673003 .
2016-09-21 16:38:10 -07:00
Harry Terkelsen b114cfc724 kernel->ssa: support string concatenations/interpolations
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2357513005 .
2016-09-21 10:42:46 -07:00
Johnni Winther ca3c2882ae Introduce OpenWorld.
R=het@google.com

Review URL: https://codereview.chromium.org/2320583002 .
2016-09-21 11:48:10 +02:00
Johnni Winther b7d424f6fd Handle local functions in kernel_impact.
R=het@google.com

Review URL: https://codereview.chromium.org/2359453002 .
2016-09-21 11:18:03 +02:00
Johnni Winther 7ea9f8b8bc Handle string interpolation/juxtaposition in kernel_impact.
R=het@google.com

Review URL: https://codereview.chromium.org/2357433003 .
2016-09-21 10:44:57 +02:00
Harry Terkelsen 636084afa2 kernel->ssa: implement top-level getters and setters
See https://github.com/dart-lang/sdk/issues/27394

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2353793002 .
2016-09-20 10:18:08 -07:00
Johnni Winther e24939f8d6 Handle generic factory constructors in kernel_impact
R=het@google.com

Review URL: https://codereview.chromium.org/2341263002 .
2016-09-19 11:35:56 +02:00
Harry Terkelsen 3d31aa2ff7 dart2js: run dartfmt on tests
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2345083003 .
2016-09-16 15:49:23 -07:00
Johnni Winther 4eca725670 More features handled in kernel impact.
BUG=
R=het@google.com

Review URL: https://codereview.chromium.org/2329403003 .
2016-09-16 12:52:47 +02:00
Johnni Winther 6e62b8af9a Handle signature types and fields in kernel_impact
R=het@google.com

Review URL: https://codereview.chromium.org/2331923002 .
2016-09-16 12:43:41 +02:00
Harry Terkelsen 076f4c30c9 kernel -> ssa: implement literal maps
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2335203005 .
2016-09-14 16:59:30 -07:00
Harry Terkelsen 866e4ea550 kernel -> ssa: implement literal lists
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2346543002 .
2016-09-14 11:26:26 -07:00
Harry Terkelsen 53870d1914 build kernel for the entire program after resolution
Rasta needs to have access to elements that aren't resolved by normal
dart2js. We need to let it add elements to the resolution queue so
it can get all the information it needs.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2324213003 .
2016-09-09 16:06:22 -07:00
Johnni Winther 8bdf7ab425 Compute ResolutionImpact directly from kernel, part 1 of ?
R=het@google.com

Review URL: https://codereview.chromium.org/2323733002 .
2016-09-09 09:24:47 +02:00
Harry Terkelsen 7502743614 kernel -> ssa: implement if-statements
As part of this change I refactored SsaBranchBuilder to accept a
GraphBuilder argument so that it can work with the new kernel builder.

I also had to add a LocalsHandler accessor to the GraphBuilder.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2301293002 .
2016-09-02 11:32:49 -07:00
Harry Terkelsen f57aa28577 kernel -> ssa: add tests for other simple operators
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2299453004 .
2016-08-31 16:17:53 -07:00
Harry Terkelsen 227766e4ac implement kernel -> ssa for simple binary expression
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2297853003 .
2016-08-31 09:59:33 -07:00
Harry Terkelsen 7b29f2b79c kernel -> ssa: support static invocations and variable gets
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2290893002 .
2016-08-29 17:24:35 -07:00
Harry Terkelsen a89daf07c4 implement kernel -> ssa for literals
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2280133002 .
2016-08-26 12:53:29 -07:00
Harry Terkelsen 17f14d839a implement kernel -> ssa for function that returns a constant
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2280743003 .
2016-08-26 10:29:31 -07:00
Harry Terkelsen 2b6a4b64d1 small tweaks to kernel test helper to work in checked mode
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2271143004 .
2016-08-24 15:42:57 -07:00
Sigmund Cherem 8445c85aa6 Add empty kernel-ssa test
R=het@google.com

Review URL: https://codereview.chromium.org/2275603004 .
2016-08-24 14:27:37 -07:00