Commit Graph

3197 Commits

Author SHA1 Message Date
Johnni Winther 5e6a6bd035 Test all files in sourcemaps/data
Change-Id: I4cab4910818435c7d96bf494770e9b064b30cfc9
Reviewed-on: https://dart-review.googlesource.com/22000
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-21 08:49:28 +00:00
Johnni Winther a9fcb6b52d Make SideEffects.toString more readable.
Change-Id: Ibf2b18ecba03ad33b3bb9b805f58a4fbc1a1838d
Reviewed-on: https://dart-review.googlesource.com/21960
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-21 08:46:47 +00:00
Stephen Adams 5aebf58b66 Add type parameter to JS pseudofunction.
Bug: 31408
Change-Id: I90ce573c2022c2614269dcb73d2856fcc7573e24
Reviewed-on: https://dart-review.googlesource.com/21841
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-21 02:43:17 +00:00
Emily Fortuna 9e5ad7af1a Populate field setter method body for checked mode.
Bug:
Change-Id: I802fc425b998ce1ff1110a7e48215b557035d442
Reviewed-on: https://dart-review.googlesource.com/22300
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Emily Fortuna <efortuna@google.com>
2017-11-21 01:11:07 +00:00
Stephen Adams 5b13d23620 load elimination: do not create phis for length
Do not create phis for length since it confuses bounds checker and
results in ugly code for for-in Array expansion.

Change-Id: I75160d38a8ad924b5a3f72fa4dd3d9f0d04e88b1
Reviewed-on: https://dart-review.googlesource.com/22303
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2017-11-21 01:07:57 +00:00
Paul Berry f1959d6cd4 Implement support for generic comment syntax in Fasta.
Change-Id: I4c15a4adf2dbb50efd799b801dcb75a538bbe7d6
Reviewed-on: https://dart-review.googlesource.com/21223
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-11-20 22:01:27 +00:00
Johnni Winther f3c9d26cfb Compute side effects through SideEffectsBuilder
Change-Id: Iec89f193a1bd4c897b94698457237e6b4fde9c1f
Reviewed-on: https://dart-review.googlesource.com/21721
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-20 09:28:08 +00:00
Johnni Winther d578cdb6a0 Test stacktrace sourcemaps for kernel.
Change-Id: Ic2bf02ec8aaff9a1c2495768a9bf1b8362acccca
Reviewed-on: https://dart-review.googlesource.com/21802
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-20 09:17:20 +00:00
Johnni Winther 5245aaa2e8 Register annotations on j: elements
Change-Id: I8281491442c6b9dcba51d76a735d9aa2f8919273
Reviewed-on: https://dart-review.googlesource.com/21060
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-17 19:39:34 +00:00
Emily Fortuna c7dadec876 Capture this and type variables in closures in checked mode when needed.
Bug:
Change-Id: I9e3bbc658590bcb6ec04cff4323cc2a97c20fc6b
Reviewed-on: https://dart-review.googlesource.com/21321
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Emily Fortuna <efortuna@google.com>
2017-11-16 21:22:41 +00:00
Morten Krogh-Jespersen 4f98da3fca Remove sdk/ from paths to allow running outside repository.
Bug:
Change-Id: Ie3abc56e9d3594528d4f7f4e52a3c78bea23f575
Reviewed-on: https://dart-review.googlesource.com/21422
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-16 19:22:28 +00:00
Johnni Winther 253eaef945 Add source information for invocations and operators in the kernel ssa builder.
Change-Id: If9e77c773e5ca722f100e92f6ff4e417efda9d5e
Reviewed-on: https://dart-review.googlesource.com/20700
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-16 09:46:29 +00:00
Emily Fortuna bf94e73568 Fix up type inference to run in checked mode and enable checked mode tests running with kernel script.
Bug:
Change-Id: If720b6868fbdf010f4aac614ceea1ddea533c277
Reviewed-on: https://dart-review.googlesource.com/21222
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2017-11-15 22:34:51 +00:00
Dan Rubel b5df8d7b0f Add fasta parser recovery for invalid operator name
Change-Id: I10e7f2668f654f7be482b3ce1521d1872d6a6b34
Reviewed-on: https://dart-review.googlesource.com/20826
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-11-15 15:49:22 +00:00
Harry Terkelsen 0ccaef195e Do not add superclass members to deferred loading deps
When we changed this from the element model we changed

cls.implementation.forEachMember

to

elementEnvironment.forEachClassMember

The difference is that forEachMember doesn't iterate over
superclass members by default, while forEachClassMember does.

Change-Id: I25dffa7744317af9928505df3140b66df221c17e
Reviewed-on: https://dart-review.googlesource.com/20902
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2017-11-14 22:06:44 +00:00
Emily Fortuna 4c8b26ab5f Fix infinite recursion runtime error in checked mode with Kernel.
Bug:
Change-Id: I6612a97ec6d2b802aec024d905025aeb4ed2af97
Reviewed-on: https://dart-review.googlesource.com/20560
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2017-11-14 19:56:24 +00:00
Johnni Winther d3c000beaf Prepare source_mapping_*_tests for kernel.
Change-Id: I89b3b2694adf91fb12cc8bbabd6f94528eb85bb9
Reviewed-on: https://dart-review.googlesource.com/20280
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-14 08:36:04 +00:00
Johnni Winther e8e3fb5224 Reenable source map tests
- and fixes regressions + add more coverage for the regressed parts

Change-Id: Ied0aa54389164650b4fcd8f0363ddabb60c00a77
Reviewed-on: https://dart-review.googlesource.com/20204
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-14 08:18:44 +00:00
Harry Terkelsen 3e88496489 Don't process closures for extra loop information
Change-Id: I9585786ba07767c618233226cc96a9b7bcd21f4b
Reviewed-on: https://dart-review.googlesource.com/20540
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2017-11-13 20:08:20 +00:00
Johnni Winther de6dab1a09 Handle loadLibrary in inferrer
Change-Id: I4822a016fc5f74e37c1905de2d529b09dc44531c
Reviewed-on: https://dart-review.googlesource.com/20420
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2017-11-13 11:58:54 +00:00
Johnni Winther ff7cfea850 Turn on inference by default with --use-kernel
Change-Id: I3f320cc5aa8f265b45c73c9d3023950d8ed4240b
Reviewed-on: https://dart-review.googlesource.com/20064
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-13 10:51:03 +00:00
Johnni Winther 9ce12fc134 Skip abstract methods in KernelToElementMap.getSuperMember
Change-Id: Ic6d452cd3352fc557d59a54a37db4396c6a24d14
Reviewed-on: https://dart-review.googlesource.com/20100
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-13 09:33:34 +00:00
Johnni Winther 2ef55e96a5 Improve helpers for work on and test of inference.
Change-Id: I111d3f286072605941d27d2b0922f9fa3347980c
Reviewed-on: https://dart-review.googlesource.com/20062
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-13 09:03:52 +00:00
Johnni Winther f3d7a95343 Correctly refine calls to locals in old inferrer.
Closes #31333

Change-Id: I9336639a5d4774c9bbf444246d0458621b5f2a79
Reviewed-on: https://dart-review.googlesource.com/20000
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-13 08:52:54 +00:00
Johnni Winther f3e9590596 Parameterize SourceInformationStrategy/Builder
Change-Id: I2ba63f6da6c2afdd295c212a104a25a30fb95c64
Reviewed-on: https://dart-review.googlesource.com/19564
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-10 20:38:48 +00:00
Sigmund Cherem 65530c3ef6 Initialize hunks as early as we can
Bug:
Change-Id: I6483e6d5fb08fbe162e3b54b8aa19e510d25eca4
Reviewed-on: https://dart-review.googlesource.com/19580
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2017-11-10 18:50:28 +00:00
Sigmund Cherem 2d74db71da Support deferred loading of constants in kernel pipeline
Bug:
Change-Id: Ic2b2d22460a9b6cb57dd29531e0443caa3bbc6ed
Reviewed-on: https://dart-review.googlesource.com/19881
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-11-10 18:37:48 +00:00
Brian Wilkerson 9f730ecbc8 Return the last consumed token from seven methods
Change-Id: I53ad977e3c68ea9ed583fd89cc798ab75b9d0b0f
Reviewed-on: https://dart-review.googlesource.com/20120
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-10 16:55:08 +00:00
Johnni Winther 0b1e2e0ab1 Handle .call on closures in the old inferrer
Closes #31316

Change-Id: I7fd2e6df9cfb7f2fa785ba7a68525208eebb248e
Reviewed-on: https://dart-review.googlesource.com/19562
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-10 10:27:17 +00:00
Brian Wilkerson c10037c666 Convert 16 methods to accept the last consumed token
Change-Id: I54ec7feb3d4c12b96742e35b3ce375820d707416
Reviewed-on: https://dart-review.googlesource.com/19700
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-09 19:39:49 +00:00
Johnni Winther 2bbecf843f Handle .call on closures.
Change-Id: I19b8fdcf00f222bdc7a4272eff3dffcdd19f5b57
Reviewed-on: https://dart-review.googlesource.com/19189
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-09 08:29:01 +00:00
Johnni Winther 67d6c7095b Skip abstract methods in member lookup for inference.
Change-Id: Ic07e1f6f038ebf6a9767c65777c0d6898131b632
Reviewed-on: https://dart-review.googlesource.com/19000
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-09 08:15:09 +00:00
Emily Fortuna 035c85580b Make fast-startup work with kernel!
Bug:
Change-Id: I88bf7fd7609bc816cc6d50daaa7e3a0ec5dc1934
Reviewed-on: https://dart-review.googlesource.com/19403
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-09 01:37:25 +00:00
Emily Fortuna ef68e359a2 Deal with JS-interop default argument values.
Bug:
Change-Id: I9f0c26f8716473b445922aac43248b717ce45bb3
Reviewed-on: https://dart-review.googlesource.com/19120
Commit-Queue: Emily Fortuna <efortuna@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2017-11-08 23:24:01 +00:00
Sigmund Cherem 5799422d80 Support deferred loading in the kernel pipeline.
Change-Id: I8189a39db57e8cbac1e708a628dfcae70682ef3b
Reviewed-on: https://dart-review.googlesource.com/18685
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2017-11-07 23:00:50 +00:00
Brian Wilkerson 0a66494841 Convert parseTopLevelMember and parseClassMember
Change-Id: Iab8109a48866e12c2a3a11c62fc7e340b0b8862e
Reviewed-on: https://dart-review.googlesource.com/19022
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-07 21:29:41 +00:00
Brian Wilkerson 723f8bca05 Convert parseMetadataStar and partially convert parseMetadata
Change-Id: I546206f1b7de042827a519f4ac9c721b98a3038e
Reviewed-on: https://dart-review.googlesource.com/19020
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-07 16:14:50 +00:00
Johnni Winther 0cb8876756 Extract a NoSuchMethodData object from NoSuchMethodRegistry
Change-Id: Ie20797a25f61be4222278b26dcec9c31370c31b2
Reviewed-on: https://dart-review.googlesource.com/18821
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-07 09:03:38 +00:00
Harry Terkelsen 12baebc768 Set outer closure needs 'this' if inner needs 'this' for rti
Change-Id: I46850f2a28abb499fa64266480fc108b38ecbfb9
Reviewed-on: https://dart-review.googlesource.com/18904
Commit-Queue: Harry Terkelsen <het@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-07 00:17:21 +00:00
Sigmund Cherem 14843eb067 Create deferred-load-task from the front-end strategy.
This CL also moves code around a bit to prepare for the kernel implementation.
There are minimal changes, most of the code is the same. The refactor will make
the diff on the next CL much simpler

Change-Id: I4fff9c6511a5c19264c5573c4e2a0fffa2d61bfd
Reviewed-on: https://dart-review.googlesource.com/18681
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-11-06 23:34:00 +00:00
Sigmund Cherem 46c859152a Add output unit data: an intermediate representation of the resuls of deferred loading
Change-Id: I54fb3eb49338f137c127113fd884ce54a1187a64
Reviewed-on: https://dart-review.googlesource.com/18508
Reviewed-by: Stephen Adams <sra@google.com>
2017-11-06 17:15:40 +00:00
Johnni Winther 29f3cc0db1 Various fixes for erroneous cases
Change-Id: I1c370dd220ff5e27196dcc8294d3c8eeda80462c
Reviewed-on: https://dart-review.googlesource.com/18483
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-06 08:42:46 +00:00
Stephen Adams c566db6227 Use full name for more elements in DUMP_IR output
Names now match old version.

TBR=sigmund@google.com

Change-Id: Ieecceef3fc66f18c926ed2eb8e8f234e18678efb
Reviewed-on: https://dart-review.googlesource.com/18684
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2017-11-04 00:23:24 +00:00
Sigmund Cherem c53c2f948d Support caching impacts with the kernel frontend. This is needed by deferred
loading.

To make this possible, this CL explicitly models the impact cache and deleter.

Change-Id: I444625a7a14155d9c530a390854a42d277055aaa
Reviewed-on: https://dart-review.googlesource.com/18463
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2017-11-03 17:52:21 +00:00
Johnni Winther b7e53e4966 Detect non-nullness of postfix results in the old inferrer
Change-Id: I51b0607371bfac4bead70bfc2852060aa3b1ed96
Reviewed-on: https://dart-review.googlesource.com/18280
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-03 10:29:59 +00:00
Stephen Adams 64656316ec dart2js kernel: make JClosureField implement PrivatelyNamedJSEntity for nicer names
This change reduces the number of diffs between AST and Kernel by a factor of 3.

I changed the order of adding closure fields - adding fields for
boxes, then 'this', then values and types.  This makes the order more
consistent with the old backend. We can undo this later.

Change-Id: I54d7c601cae89b6debce5166045dbb4d54add91f
Reviewed-on: https://dart-review.googlesource.com/18160
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2017-11-03 01:06:30 +00:00
Harry Terkelsen 9c78203f19 Add KTypedef to K element model
Change-Id: Iac058d920265381122886101d55e93ac10a865f4
Reviewed-on: https://dart-review.googlesource.com/18420
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2017-11-02 23:16:00 +00:00
Johnni Winther d3f3846207 Remove .getClosureInfoForMember
- and use ScopeInfo.forEachBoxedVariable instead of ClosureRepresentationInfo.forEachBoxedVariable.

Change-Id: I9d0c67eb06b7633a27d48745dc81d03d30f7e7ae
Reviewed-on: https://dart-review.googlesource.com/18186
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2017-11-02 14:06:38 +00:00
Johnni Winther 0373526d82 Fix refinements order on updates.
Change-Id: I2677792bb23d90ce5c63f159156c27653ed69f5f
Reviewed-on: https://dart-review.googlesource.com/17800
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-02 13:03:47 +00:00
Johnni Winther 74022b9902 Refine receiver before arguments in method invocation
Change-Id: I6c32ade4d2342489299b010c841fb5c928f96b9a
Reviewed-on: https://dart-review.googlesource.com/17783
Reviewed-by: Emily Fortuna <efortuna@google.com>
2017-11-02 11:50:29 +00:00