Jenny Messerly
4234e18593
workaround fasta test incorrectly analyzing DDC code
...
pkg/front_end/test/fasta/analyze_test is incorrectly failing because of DDC changes.
This must be fixed, but in the meantime this works around it.
Change-Id: I72fd56f9b306dce9b1f34e810c6ece3f6d8f49fb
Reviewed-on: https://dart-review.googlesource.com/14342
Reviewed-by: Jenny Messerly <jmesserly@google.com >
2017-10-17 00:26:22 +00:00
Jenny Messerly
ef3ac59dd6
add a dartdevk command that compiles with the new front end
...
This ports a fairly large part of DDC's Analyzer-based code generator,
however most nodes are not supported yet.
The goal is to preserve all functionality of code that was ported,
except for deprecated features (e.g. mirrors, fuzzy arrows, libraryRoot).
Change-Id: I3b10d5773c7c10a740fa336720243b03c6b82529
Reviewed-on: https://dart-review.googlesource.com/10705
Reviewed-by: Vijay Menon <vsm@google.com >
2017-10-16 21:13:52 +00:00
Jennifer Messerly
697e531c17
fix IdentityMap setter concurrent modification detection
...
Change-Id: Ib999210cf5709a4cef6a14a8d7fafe7b516f09c9
Reviewed-on: https://dart-review.googlesource.com/13641
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2017-10-13 20:57:24 +00:00
Vijay Menon
0553e2ba15
Regen DDC SDK
...
TBR=rnystrom@google.com
Change-Id: I4406552de08e379cac8a75f9c8e0e353dd927a21
Reviewed-on: https://dart-review.googlesource.com/13440
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-10-12 04:07:05 +00:00
Jennifer Messerly
8c36b4685f
fix #31049 , fix #31050 , avoid name collision for static members
...
Change-Id: I5a14315b99ace15aa6ac0c67f753bc3e1f39b3a9
Reviewed-on: https://dart-review.googlesource.com/12481
Commit-Queue: Jennifer Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2017-10-11 21:00:02 +00:00
Vijay Menon
4917131ff4
Regen DDC sdk
...
TBR=rnystrom@google.com
Change-Id: I58e832edd16bd6b864eadb27b91dc3645be13e90
Reviewed-on: https://dart-review.googlesource.com/13001
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-10-11 15:19:10 +00:00
Vijay Menon
c1d45769c3
Inline constant values
...
Change-Id: Iee929bc64c152be989e6e7ba38132f806c33c7e0
Reviewed-on: https://dart-review.googlesource.com/11960
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-10-10 13:21:41 +00:00
Jennifer Messerly
32eb7e3612
fix #30944 , mark specific nodes with source information
...
This change fixes bugs that users see when we mark declaration code,
while also reducing the source map size (improving startup & reducing
the load on devtools). The SDK source map is reduced by 41%.
Stack traces and stepping should be more accurate after this change, but
if we identify any node(s) that need different marking, we now have
the tools to refine it further.
Change-Id: Ie50c6aca873be7b7c0f7c238a9db2001acbceb5c
Reviewed-on: https://dart-review.googlesource.com/10210
Commit-Queue: Jennifer Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
Reviewed-by: Alan Knight <alanknight@google.com >
2017-10-10 03:40:40 +00:00
Jennifer Messerly
c05a4439bc
fix DDC handling of @notNull annotation for ?. method calls
...
Change-Id: I9be22e126ff32c16a90fc85e3d754258e9fc98c3
Reviewed-on: https://dart-review.googlesource.com/12344
Reviewed-by: Vijay Menon <vsm@google.com >
2017-10-10 00:35:31 +00:00
Vijay Menon
05619da8ea
Optimize String.length
...
Change-Id: I7e8481c8822d170492112704e04b92b19d5e5f2e
Reviewed-on: https://dart-review.googlesource.com/12340
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-10-10 00:22:36 +00:00
Vijay Menon
a7e5d104bf
Fill array on allocation
...
Fixes #31002
Change-Id: Idaee4ca544e567b4239098c852a040128e6b5d82
Reviewed-on: https://dart-review.googlesource.com/11242
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-10-05 20:04:24 +00:00
Jennifer Messerly
3a79c35f3c
optimize maps/sets in DDC, fixes #29865
...
- string/int keys use identity maps
- construct the correct type rather than relying on factory constructors when possible
- checks if key has identity semantics and use that when possible
- avoid helper calls/casts/etc in implementations
- use native ES6 Map/Set key order tracking
- optimized constructor for map literals
- fixes #30466 , const maps are now canonicalized correctly
Change-Id: Id44acf3d9bf8cb153a4755aa28df08fe91bfc633
Reviewed-on: https://dart-review.googlesource.com/8167
Reviewed-by: Vijay Menon <vsm@google.com >
2017-10-04 19:04:27 +00:00
Vijay Menon
d6582a9d1b
Use unique proto object for each library object
...
This appears to improve Gabriel's is-check benchmark by 2x and
DeltaBlue by about 30% (DDC on d8-tip).
I suspect this is improving inlining of top-level accesses on library
objects (including helpers like dart.is).
Change-Id: I1629d821b481194075a80dd6858334c1f678dd12
Reviewed-on: https://dart-review.googlesource.com/7446
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2017-10-04 18:06:59 +00:00
Vijay Menon
d22557b560
Regen DDC SDK
...
TBR=rnystrom@google.com
Change-Id: I50cb06235bb5f9a0bd8cae8e7cc6500c33c812c2
Reviewed-on: https://dart-review.googlesource.com/10703
Reviewed-by: Vijay Menon <vsm@google.com >
Reviewed-by: Bob Nystrom <rnystrom@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-10-03 21:49:21 +00:00
Jennifer Messerly
3a907e5cab
add a script to build DDC's SDK to a dill file
...
Change-Id: I93f9d55bd99a3b98ee823c38255e9a8081954a4b
Reviewed-on: https://dart-review.googlesource.com/10213
Reviewed-by: Vijay Menon <vsm@google.com >
2017-10-03 20:27:12 +00:00
Jennifer Messerly
e5de4e2aaa
fix #30966 , generate signature info for native setters
...
Change-Id: I512a3c74ceffcab3013791b82c92cee16d804af8
Reviewed-on: https://dart-review.googlesource.com/10207
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Jennifer Messerly <jmesserly@google.com >
2017-10-03 02:55:27 +00:00
Jennifer Messerly
05ba807d43
fix #30925 , optimize x is T when x is null
...
Change-Id: Id99a2ce821c49c4dcce098fe119aab63e916b3ab
Reviewed-on: https://dart-review.googlesource.com/9792
Reviewed-by: Vijay Menon <vsm@google.com >
2017-10-02 20:45:29 +00:00
Vijay Menon
8a81bdf64a
Regen DDC sdk
...
TBR=jmesserly@google.com
Change-Id: I9a02f4e06d84df2f2794180755d6cb2dea2f767e
Reviewed-on: https://dart-review.googlesource.com/10160
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-10-02 19:45:37 +00:00
Vijay Menon
3e8f4dce13
Regen DDC SDK
...
TBR=jmesserly@google.com
Change-Id: I875cacca1a71cfb499f707e088195bad13ba3502
Reviewed-on: https://dart-review.googlesource.com/9740
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-09-29 16:56:32 +00:00
Jennifer Messerly
9978b808b4
implement NoSuchMethodError.withInvocation in DDC
...
Change-Id: If51546abb290d2956bacce9b5ae5adf6f2ca2d11
Reviewed-on: https://dart-review.googlesource.com/9429
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-28 23:39:43 +00:00
Jennifer Messerly
749d298b6c
fix extension member discovery in DDC
...
In particular, some types like the base/mixin classes for Map in dart:collection did not work correctly.
This also has cleanups/optimizations to how DDC registers signatures, partially addressing #30499
Also fixes #29897 , const maps are now immutable in DDC.
Change-Id: Icfdc7921d255a58a9e13908cf800832f787314ee
Reviewed-on: https://dart-review.googlesource.com/7442
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-09-28 23:21:43 +00:00
Vijay Menon
84cde41da5
Add NoSuchMethodError.withInvocation to DDC patch
...
TBR-jmesserly@google.com
Change-Id: I7352d0caefe12f3d8a10d1383cfb2ec983b1051b
Reviewed-on: https://dart-review.googlesource.com/9368
Reviewed-by: Vijay Menon <vsm@google.com >
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-09-28 22:27:22 +00:00
Jennifer Messerly
13b57ceafe
fix #30912 , record scope dependencies on unused typedef type arguments
...
Change-Id: Ic859620fb4ff7f9965b46849aa96eb74dfe59ccb
Reviewed-on: https://dart-review.googlesource.com/9125
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-28 21:25:31 +00:00
Jennifer Messerly
a784320a99
fix #30852 - if static field init throws, it should return null after
...
Change-Id: Ibf273deee51be4b187dbb6d4d7f66dc35dd16fed
Reviewed-on: https://dart-review.googlesource.com/8240
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-28 18:07:58 +00:00
Vijay Menon
9ab7137ede
Regen ddc sdk
...
TBR=leafp@google.com
Change-Id: Ia5721ff75771f3eec20eaf664d3977cbbc126b70
Reviewed-on: https://dart-review.googlesource.com/8741
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-09-27 03:03:25 +00:00
Vijay Menon
0a9253ef30
Regen SDK
...
Looks like merge conflicts on crossing CLs.
TBR=leafp@google.com
Change-Id: Iee2c42e53d03c57fc07f18b46635f423927a1b17
Reviewed-on: https://dart-review.googlesource.com/8700
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-09-26 17:00:11 +00:00
Vijay Menon
2ba49b4ac0
Utility for building / running on d8
...
Change-Id: I8ba4c7ce37d9a5fcf7742ecfdac4c0df48dc9497
Reviewed-on: https://dart-review.googlesource.com/7845
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-09-26 16:09:51 +00:00
Leaf Petersen
8c924f2923
Tighten the is check in handleError.
...
Bug:
Change-Id: I23f49f65a395579293f0567e8069ccd931e00c4a
Reviewed-on: https://dart-review.googlesource.com/7842
Commit-Queue: Leaf Petersen <leafp@google.com >
Reviewed-by: Florian Loitsch <floitsch@google.com >
2017-09-26 13:38:05 +00:00
Leaf Petersen
e350bb4565
Eliminate fuzzy arrow uses in SDK libraries.
...
Bug:
Change-Id: Ia1a00966b8d77c5aa812ed19eca136c47132ae58
Reviewed-on: https://dart-review.googlesource.com/8540
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2017-09-26 12:56:05 +00:00
Leaf Petersen
e0c2e8191f
Eliminate fuzzy arrow from conversions_dart2js.dart
...
Bug:
Change-Id: Ide970d2a5353e53af9f0a73748b12b2fb770ebcb
Reviewed-on: https://dart-review.googlesource.com/7941
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-09-26 10:37:48 +00:00
Vijay Menon
ed8d1d32e6
Regen DDC SDK
...
TBR=leafp@google.com
Change-Id: I830fb4b0f293a5b9805907f461e57ccf48214363
Reviewed-on: https://dart-review.googlesource.com/7740
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: William Hesse <whesse@google.com >
2017-09-22 15:29:37 +00:00
Gary Roumanis
c69a9274d3
Don't annotate FunctionDeclarations
...
Bug:38419508
Change-Id: I5298fcd31e058bb4958136775e67d955a3feb010
Reviewed-on: https://dart-review.googlesource.com/7630
Commit-Queue: Gary Roumanis <grouma@google.com >
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-09-21 23:05:39 +00:00
Vijay Menon
d8083faecc
Regen DDC SDK
...
TBR=jmesserly@google.com
Bug:
Change-Id: Icecb6576b4f5c70fdcfb0e220543a96e3621da92
Reviewed-on: https://dart-review.googlesource.com/7580
Reviewed-by: Vijay Menon <vsm@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-09-21 17:18:02 +00:00
Vijay Menon
8470c871d6
Enable polyfill in d8 modules
...
This enables running benchmarks (e.g., DeltaBlue) on d8. d8 tip (with
es6 modules) appears quite a bit faster than the latest dev nodejs (with common modules).
Change-Id: Iedcc97fac57c48b925ae7c1b6cba4bbedeba4d0b
Reviewed-on: https://dart-review.googlesource.com/7443
Commit-Queue: Vijay Menon <vsm@google.com >
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-09-20 22:47:21 +00:00
Jennifer Messerly
3224db05be
fix #30792 -- fix variables shadowing parameters in an async function
...
Change-Id: I40667f607450af8695aafc613358d401cd395af2
Reviewed-on: https://dart-review.googlesource.com/7042
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-20 20:09:25 +00:00
Florian Loitsch
38bf70d7ac
Use generic functions in zones.
...
Migrated from https://chromiumcodereview.appspot.com/2893893002/
Change-Id: I0bd6dc1438eb1e6762e7760a08b5a760b07d4b10
Reviewed-on: https://dart-review.googlesource.com/4942
Reviewed-by: Florian Loitsch <floitsch@google.com >
Commit-Queue: Florian Loitsch <floitsch@google.com >
2017-09-20 15:46:06 +00:00
Vijay Menon
6ce85d5f99
Revert "Remove support for functions in asserts in DDC."
...
This reverts commit 8140e1db64 .
Change-Id: If505903ba475324392d6c6bcdae3392f523aadc8
Reviewed-on: https://dart-review.googlesource.com/7107
Reviewed-by: Bob Nystrom <rnystrom@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-09-19 21:46:13 +00:00
Gary Roumanis
07e9cfedad
Load exception event
...
Dispatch load exception so that others can react without capturing the corresponding error. Will be used in conjunction with https://github.com/dart-lang/test/pull/682
Bug:
Change-Id: I19458ac01ba013cac6ad5408b3b763777e50ca4e
Reviewed-on: https://dart-review.googlesource.com/6644
Reviewed-by: Jake Macdonald <jakemac@google.com >
Commit-Queue: Gary Roumanis <grouma@google.com >
2017-09-18 19:12:52 +00:00
Bob Nystrom
8140e1db64
Remove support for functions in asserts in DDC.
...
These are not supported in Dart 2.0:
https://github.com/dart-lang/sdk/issues/30326
Change-Id: I2e177a647c43af2bf7f37ff382234b12b8c2286c
Reviewed-on: https://dart-review.googlesource.com/4182
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-09-15 23:37:06 +00:00
Jennifer Messerly
67b9d3b9f9
fix metadata reflection for fields
...
Change-Id: I25d69eea235b0824c49320212706e66945480034
Reviewed-on: https://dart-review.googlesource.com/6024
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
Commit-Queue: Jennifer Messerly <jmesserly@google.com >
2017-09-15 00:08:17 +00:00
Jennifer Messerly
5522bb1aa9
fix #29004 , unify compiler code for emitting classes
...
Change-Id: If3a58d364f8f125a3bc1ab5e1fc47c6b43328637
Reviewed-on: https://dart-review.googlesource.com/5140
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-13 21:05:06 +00:00
Jennifer Messerly
67f82b4eee
optimize == in some more cases
...
Change-Id: Icdda25e85c8d3ab3805c7f0ab180c6e88e47f8ed
Reviewed-on: https://dart-review.googlesource.com/4580
Commit-Queue: Jennifer Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-13 02:02:41 +00:00
Jennifer Messerly
e14b589991
fix #30636 , improve stack trace for anon closures variable declarations
...
Change-Id: I193c6cca765821193cdcaa62ddfbf961f1333428
Reviewed-on: https://dart-review.googlesource.com/4183
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-13 00:19:02 +00:00
Vijay Menon
d5c913ef95
Fix null analysis on constants with unknown value
...
Terry is landing the test for this. We were throwing on this:
const u4 = const String.fromEnvironment("XXXXX");
void main() {
print(u4.toString());
}
Change-Id: I5ad158978ce9a19c2d5a3b65a39beae1676fe7b1
Reviewed-on: https://dart-review.googlesource.com/5042
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
Commit-Queue: Terry Lucas <terry@google.com >
2017-09-11 22:28:53 +00:00
Jennifer Messerly
dc81668848
fix #30659 , type tests in enums
...
Change-Id: I9cecc2a90889276af3cf75b6fa7a1b8f79778167
Reviewed-on: https://dart-review.googlesource.com/4609
Commit-Queue: Jennifer Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-08 22:47:16 +00:00
Leaf Petersen
b78fea7129
Restore subtyping between Dart classes and anonymous JS classes
...
Bug:
Change-Id: I9e7e78d1f309fb814644245d6fd281d3b9110589
Reviewed-on: https://dart-review.googlesource.com/4160
Reviewed-by: Jennifer Messerly <jmesserly@google.com >
2017-09-07 23:56:38 +00:00
Jennifer Messerly
afe4e6c7af
fix tearoff equality against null
...
Two different optimizations conflicted (in the SDK, == methods must take care to consider a null value, but at the same time tearoff == was optimized), so it fixes that. Also adds a test for this.
Change-Id: I3d6fef7cae9df2fcbb9c276ae4e48490fd62eabb
Reviewed-on: https://dart-review.googlesource.com/4180
Commit-Queue: Jennifer Messerly <jmesserly@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2017-09-07 22:49:52 +00:00
Jennifer Messerly
b075ae01ca
fix #30640 , give names to async/async*/sync* functions
...
this will help stack traces
Change-Id: I76a26f87f7690a1a97f3bc40721240232550ed3f
Reviewed-on: https://dart-review.googlesource.com/4121
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-07 20:28:23 +00:00
Jennifer Messerly
1e9c2e109b
fix #30634 , optimize generic functions in DDC
...
this removes the extra closure that is unnecessary
Change-Id: I1f1a6c1e7fd378bd8dc4807c8ce77968b1e94319
Reviewed-on: https://dart-review.googlesource.com/3745
Reviewed-by: Vijay Menon <vsm@google.com >
2017-09-07 18:04:24 +00:00
Vijay Menon
a068f82684
Bump stack trace limit
...
Change-Id: I509832879681f39f2592180166e53070eb6f8ae9
Reviewed-on: https://dart-review.googlesource.com/4060
Reviewed-by: Jacob Richman <jacobr@google.com >
Commit-Queue: Vijay Menon <vsm@google.com >
2017-09-07 16:31:34 +00:00