Johnni Winther
1567a4c21b
Handle Native("...") annotations in KernelBehaviorBuilder.
...
Closes #28157
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2681123004 .
2017-02-10 10:49:19 +01:00
Johnni Winther
cc60ef19f5
Handle Creates and Returns annotations in KernelBehaviorBuilder
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2685673004 .
2017-02-10 10:43:39 +01:00
Johnni Winther
68b1c1a827
Add KernelNativeBehaviorComputer
...
- to support NativeBehavior computation from KernelWorldBuilder.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2679913006 .
2017-02-10 10:36:35 +01:00
Johnni Winther
a2b0a1bc1b
Refactor ConstantSystem
...
- to prepare for kernel based implementation
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2684783003 .
2017-02-10 10:30:16 +01:00
Johnni Winther
eb411556e6
Add NoSourceLocationMarker in old source-info engine.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2682813005 .
2017-02-10 10:03:45 +01:00
Johnni Winther
a2837b78d5
Refactor computation of NativeBehavior.
...
- to prepare for kernel based implementation.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2686533002 .
2017-02-09 11:20:36 +01:00
Johnni Winther
1498e533e0
Remove LibraryEntity.libraryName
...
- use libraryName for LibraryElement.name if available.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2632643002 .
2017-02-08 11:37:01 +01:00
Johnni Winther
af4b2b8e30
Extract InterceptorData from JavaScriptBackend.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2680823002 .
2017-02-08 11:04:53 +01:00
Johnni Winther
52efadefc2
Replace Backend with JavaScriptBackend.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2685573002 .
2017-02-08 10:50:55 +01:00
Johnni Winther
20e2aa4f0e
Fix access to returnTypeOf
...
- a field does not have a return type.
Review-Url: https://codereview.chromium.org/2685783003 .
2017-02-08 10:08:23 +01:00
Emily Fortuna
f8f60f1ec4
Fix the loops break label test with Kernel.
...
BUG=https://github.com/dart-lang/sdk/issues/28670
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2682823002 .
2017-02-07 14:49:29 -08:00
Sigmund Cherem
ac6bf5926f
Temporarily allow to import dart:io in client apps.
...
Disclaimer: I am not in favor of this approach, but it appears to be the least
worst option at the time.
Reach out to kevmoo@ or dgrove@ for details.
R=lrn@google.com , sra@google.com , dgrove@google.com , kevmoo@google.com
Review-Url: https://codereview.chromium.org/2675023002 .
2017-02-07 14:02:04 -08:00
Emily Fortuna
0eb961850a
Fix lingering switch statement test failures.
...
BUG=
R=sra@google.com
Review-Url: https://codereview.chromium.org/2682553002 .
2017-02-07 10:38:28 -08:00
Johnni Winther
fe702abc55
Refactor BackendHelpers to be reusageable with KernelWorldBuilder
...
- introduces ElementEnvironment and uses it to implement most of CommonElements and BackendHelpers
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2675103003 .
2017-02-07 10:29:16 +01:00
Stephen Adams
435da5d44b
dart2js: Keep refined type for type checks
...
The generated code for inserted receiver and argument type checks
depends on the input type. Keeping the type after removing HTypeKnown
refinements give better code.
In a large app, 58% of the 'int' tests are replaced with cheaper 'num'
tests on the basis of the more precise input type.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2674813004 .
2017-02-03 16:33:36 -08:00
Emily Fortuna
f5cc947dd7
Implement SuperPropertySet and SuperNoSuchMethod.
...
BUG=https://github.com/dart-lang/sdk/issues/27394
R=sra@google.com
Review-Url: https://codereview.chromium.org/2672063003 .
2017-02-03 14:17:53 -08:00
Stephen Adams
49c97bc13f
Use for-in loop variable name if possible
...
BUG=
R=efortuna@google.com
Review-Url: https://codereview.chromium.org/2667003005 .
2017-02-03 13:51:30 -08:00
Sigmund Cherem
3b1fdbac79
Only generate coverageIds when needed
...
R=kevmoo@google.com
Review-Url: https://codereview.chromium.org/2676693003 .
2017-02-03 09:00:53 -08:00
Stephen Adams
a2ba9abbcc
dart2js: Introduce HGetLength to replace strange use of HFieldGet
...
Adding the new instruction lets HFieldGet have a [FieldEntity] element.
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2673513003 .
2017-02-02 13:00:12 -08:00
Peter von der Ahé
2cd456fbb0
Improve handling of parser stack overflows.
...
Fixes https://github.com/dart-lang/sdk/issues/28597
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2671653005 .
2017-02-02 15:55:18 +01:00
Johnni Winther
b789a27f05
Refactor ConstantExpression/ConstantConstructor to use entities.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2669703003 .
2017-02-02 10:12:24 +01:00
Johnni Winther
a78e2e9806
Remove code supporting incremental compilation in dart2js
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2668233002 .
2017-02-02 09:48:19 +01:00
Peter von der Ahé
ce742a1697
Port parser and scanner fixes from rasta branch.
...
R=johnniwinther@google.com
Review-Url: https://codereview.chromium.org/2664593002 .
2017-02-01 13:59:11 +01:00
Peter von der Ahé
d0d27c1c38
Use parser and scanner from package:front_end.
...
Originally reviewed as:
Review-Url: https://codereview.chromium.org/2650413002 .
Review-Url: https://codereview.chromium.org/2652203002 .
Review-Url: https://codereview.chromium.org/2655843002 .
Review-Url: https://codereview.chromium.org/2654433009 .
Review-Url: https://codereview.chromium.org/2647343003 .
Review-Url: https://codereview.chromium.org/2652663005 .
Review-Url: https://codereview.chromium.org/2650813002 .
Review-Url: https://codereview.chromium.org/2650803002 .
Review-Url: https://codereview.chromium.org/2651843004 .
Review-Url: https://codereview.chromium.org/2649923002 .
Review-Url: https://codereview.chromium.org/2651563003 .
Review-Url: https://codereview.chromium.org/2649123002 .
Review-Url: https://codereview.chromium.org/2644843006 .
Review-Url: https://codereview.chromium.org/2647043002 .
Review-Url: https://codereview.chromium.org/2642903003 .
Review-Url: https://codereview.chromium.org/2645513002 .
Review-Url: https://codereview.chromium.org/2642663003 .
Review-Url: https://codereview.chromium.org/2642713002 .
Review-Url: https://codereview.chromium.org/2635473002 .
Review-Url: https://codereview.chromium.org/2624373003 .
Review-Url: https://codereview.chromium.org/2627723006 .
Review-Url: https://codereview.chromium.org/2627093007 .
Review-Url: https://codereview.chromium.org/2629543008 .
Review-Url: https://codereview.chromium.org/2629543007 .
Review-Url: https://codereview.chromium.org/2631503002 .
Review-Url: https://codereview.chromium.org/2621153006 .
2017-02-01 10:29:25 +01:00
Peter von der Ahé
2a4bc2c7e5
Move parser, scanner, and link to front_end.
...
Originally reviewed as:
Review-Url: https://codereview.chromium.org/2650413002 .
Review-Url: https://codereview.chromium.org/2652203002 .
Review-Url: https://codereview.chromium.org/2655843002 .
Review-Url: https://codereview.chromium.org/2654433009 .
Review-Url: https://codereview.chromium.org/2647343003 .
Review-Url: https://codereview.chromium.org/2652663005 .
Review-Url: https://codereview.chromium.org/2650813002 .
Review-Url: https://codereview.chromium.org/2650803002 .
Review-Url: https://codereview.chromium.org/2651843004 .
Review-Url: https://codereview.chromium.org/2649923002 .
Review-Url: https://codereview.chromium.org/2651563003 .
Review-Url: https://codereview.chromium.org/2649123002 .
Review-Url: https://codereview.chromium.org/2644843006 .
Review-Url: https://codereview.chromium.org/2647043002 .
Review-Url: https://codereview.chromium.org/2642903003 .
Review-Url: https://codereview.chromium.org/2645513002 .
Review-Url: https://codereview.chromium.org/2642663003 .
Review-Url: https://codereview.chromium.org/2642713002 .
Review-Url: https://codereview.chromium.org/2635473002 .
Review-Url: https://codereview.chromium.org/2624373003 .
Review-Url: https://codereview.chromium.org/2627723006 .
Review-Url: https://codereview.chromium.org/2627093007 .
Review-Url: https://codereview.chromium.org/2629543008 .
Review-Url: https://codereview.chromium.org/2629543007 .
Review-Url: https://codereview.chromium.org/2631503002 .
Review-Url: https://codereview.chromium.org/2621153006 .
2017-02-01 10:29:25 +01:00
Johnni Winther
1511bb8647
Handle JS-calls in impact_test.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2668723002 .
2017-02-01 10:22:24 +01:00
Johnni Winther
7060fa7209
Handle private dynamic access in impact_test.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2662253002 .
2017-02-01 10:15:39 +01:00
Johnni Winther
3dfcafe5be
Check equivalence on impact computed with KernelWorldBuilder.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2668623003 .
2017-02-01 10:10:13 +01:00
Johnni Winther
26f8509fee
Prepare equivalence strategies for testing entities.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2663033004 .
2017-02-01 10:05:02 +01:00
Johnni Winther
4358efc0ca
Add test for expected source mappings
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2667983002 .
2017-02-01 10:00:17 +01:00
Stephen Adams
4867cf9adc
Redo "dart2js: Redo known-type analysis after load-elimination"
...
BUG=
Review-Url: https://codereview.chromium.org/2662493004 .
2017-01-31 16:59:24 -08:00
Emily Fortuna
6baace1a2f
Add SuperPropertyGet.
...
BUG=https://github.com/dart-lang/sdk/issues/27394
R=sra@google.com
Review-Url: https://codereview.chromium.org/2666803002 .
2017-01-31 13:53:12 -08:00
Johnni Winther
1672873f45
Add KernelWorldBuilder and KElement model.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2666553002 .
2017-01-31 10:33:35 +01:00
Johnni Winther
1275367501
Extract reusable parts of KernelAstAdapter in a mixin.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2663793002 .
2017-01-31 10:12:55 +01:00
Johnni Winther
4927afc21f
Move Entity and Local to entities.dart
...
- and use entities in Name, MapLiteralUse and ListLiteralUse.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2667473003 .
2017-01-31 10:02:18 +01:00
Johnni Winther
d743d2f2bc
Introduce ConstructorEntity
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2661873002 .
2017-01-31 09:56:28 +01:00
Johnni Winther
cb6d6c449e
Use entities in BackendClasses
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2659883002 .
2017-01-30 10:28:46 +01:00
Stephen Adams
946a34761b
Revert "dart2js: Redo known-type analysis after load-elimination"
...
TBR=sigmund@google.com
Review-Url: https://codereview.chromium.org/2663583002 .
2017-01-27 16:52:17 -08:00
Emily Fortuna
77a7768163
Add default value to isBreakTarget optional parameter.
...
<shame cube>
TBR=sigmund@google.com
BUG=
Review-Url: https://codereview.chromium.org/2650853012 .
2017-01-27 13:42:08 -08:00
Emily Fortuna
b26135f160
Fix Rasta to correctly identify added break targets in switch statements.
...
This fixes the empty statement try/catch/switch test Stephen was asking about.
BUG=https://github.com/dart-lang/sdk/issues/28533
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2664513003 .
2017-01-27 13:27:23 -08:00
Stephen Adams
8b1f285c69
dart2js: Redo known-type analysis after load-elimination
...
Code like
if (this.field is X) {
(this.field as X)...
}
after GVN and/or load-elimination becomes
t1 = this.field;
if (t1 is X) {
(t1 as X)...
}
so it is worth redoing the analysis that allows the elimination of
guaranteed-to-succeed 'as' check. About 5% of the as-checks in a
large app are optimized out with this change.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2657453004 .
2017-01-27 10:53:57 -08:00
Johnni Winther
c84808cc83
Extract reusable parts of _CompilerCommonElements in a CommonElementsMixin
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2654293002 .
2017-01-27 09:20:41 +01:00
Johnni Winther
cca5fa4114
Rename KernelWorldBuilder to KernelElementAdapter.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2655263002 .
2017-01-27 09:13:51 +01:00
Johnni Winther
8c86a3c5db
Fix query to isFunctionApplyMethod
...
Review-Url: https://codereview.chromium.org/2656073002 .
2017-01-26 13:16:47 +01:00
Johnni Winther
6c919f02b4
Add no-info mappings at start of out.js and after mapped functions
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2654023003 .
2017-01-26 11:46:06 +01:00
Johnni Winther
a3d0329735
Use entities in CommonElements interface.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2653203002 .
2017-01-26 10:29:13 +01:00
Johnni Winther
d2645e2ffd
Further decouple KernelImpactBuilder from elements
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2655843003 .
2017-01-26 10:23:56 +01:00
Johnni Winther
c885d809b6
Add inference test functionality based on code point id.
...
The code point id is meant to be basis for AST/Kernel-IR equivalence and the test framework should thereby be portable to a Kernel based inference.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2656583003 .
2017-01-25 14:44:28 +01:00
Johnni Winther
fb75d52521
Introduce KernelWorldBuilder
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2651803003 .
2017-01-25 10:16:32 +01:00
Stephen Adams
12300fa688
Fix crash when using type parameters on custom elements
...
The fix ensures that the custom element '.created' constructor has 'receiver' as the first argument.
This prevents the crash reported in https://github.com/dart-lang/sdk/issues/28457
The type arguments will be seen as 'dynamic' because there is no way to specify them from document.createElement or HTML.
TBR=sigmund@google.com
BUG= https://github.com/dart-lang/sdk/issues/28457
Review-Url: https://codereview.chromium.org/2645283005 .
2017-01-24 18:25:04 -08:00