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