Commit Graph

19280 Commits

Author SHA1 Message Date
Johnni Winther b61a085c60 Use custom thisType to signal static type precision.
This also removes the dependency on the state (!) in ir.TypeEnvironment.

Change-Id: I0180d111ecf45b685c4abce12c6a9bd52c1f308e
Reviewed-on: https://dart-review.googlesource.com/c/88968
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-11 12:17:14 +00:00
Johnni Winther 7b2aae5498 Handle dynamic/instance access in ir/impact.dart
Change-Id: Iaae339550bc5f693d592012e1798c9e64002f4ec
Reviewed-on: https://dart-review.googlesource.com/c/88965
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-01-11 09:30:38 +00:00
Johnni Winther 5cb13961db Use typeEnvironment.nullType for null and custom type for 'does not complete'
Change-Id: Iab2baf491227c722c8bafe3dfede44907bc0d09a
Reviewed-on: https://dart-review.googlesource.com/c/88961
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-11 09:30:38 +00:00
Johnni Winther cff0d20247 Use better static types for RuntimeTypeUse
+ remove the use ir.Expression.getStaticType

Change-Id: I4fa7908e44505b9336cd366a2025f20a7ba45a59
Reviewed-on: https://dart-review.googlesource.com/c/88834
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-11 09:14:27 +00:00
Johnni Winther 3d7ca147a4 Add FeaturesDataInterpreter
Change-Id: I40a7baca235c2e729629f4330d8d51f148264ece
Reviewed-on: https://dart-review.googlesource.com/c/88963
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-01-11 08:11:09 +00:00
Sigmund Cherem a1ff5f7cd5 Ensure inlining of getter/setters is recorded in our source-map extension
Change-Id: I6eac59f756b2a6a87842e5a4b1d8aa47df619042
Reviewed-on: https://dart-review.googlesource.com/c/88580
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-01-10 23:40:28 +00:00
Samir Jindel f043f296ef [vm] More modulo tests.
Change-Id: Idded5a07b760a2904edaf72479d13807e9edadfc
Reviewed-on: https://dart-review.googlesource.com/c/89000
Auto-Submit: Samir Jindel <sjindel@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-01-10 21:55:26 +00:00
Stephen Adams 4ef8de99ac Remove full emitter
Change-Id: Iaabca4423570a851bf7d8969d1829c81c94850a8
Reviewed-on: https://dart-review.googlesource.com/c/88882
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-10 17:38:34 +00:00
Radu Vasilescu edb68daa2c DateTime decimal separator: Added ',' version to regex and docs, added unit tests
Change-Id: I04a566ee1ac39074f0b410e5aec5cff8c8b2ae02
Reviewed-on: https://dart-review.googlesource.com/c/88904
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-01-10 16:29:58 +00:00
Samir Jindel 89d3276703 Revert regexp_kill_test which is flaky on all platforms.
Change-Id: I87a70e787ff205f68dd13f51d2c0005b065f379e
Reviewed-on: https://dart-review.googlesource.com/c/88830
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-01-10 08:21:29 +00:00
Mike Fairhurst ca9ea997bd Fix old treatment of {}, enable set literals tests
Change-Id: Iec319cb735a3747e64561f3865cce2f08fb2be0f
Reviewed-on: https://dart-review.googlesource.com/c/88601
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-01-10 01:38:34 +00:00
William Hesse 7e3f4516b8 Allow crashes on fasta compiler co19_2 tests of Constant-update2018. Needed to turn ci bot green.
Change-Id: I23cc564c01af0620a96c72cec72fdb512d81febc
Reviewed-on: https://dart-review.googlesource.com/c/88921
Reviewed-by: William Hesse <whesse@google.com>
2019-01-10 01:17:42 +00:00
William Hesse 3c9e2cf8c9 Update front-end compiler status for co19_2 tests
Change-Id: I2b7aa2b4d1ccc8000e7c15bcd9df0fcef6ed6890
Reviewed-on: https://dart-review.googlesource.com/c/88920
Reviewed-by: William Hesse <whesse@google.com>
2019-01-10 01:07:08 +00:00
Stephen Adams 651d19cdaa Ignore --fast-startup flag, assume true
Change-Id: I7a41160bf7f5bb403177b19613de2889e0fa2b44
Reviewed-on: https://dart-review.googlesource.com/c/87424
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-09 21:22:57 +00:00
William Hesse cb966bdce7 Unify parsing of co19 test options and regular test options.
Keeps comment that many test options should not be used in co19 tests.

Change-Id: Iacdc6a8d240d8fd5d6ac87fc5a16ff38978d2040
Reviewed-on: https://dart-review.googlesource.com/c/88704
Reviewed-by: Alexander Thomas <athom@google.com>
2019-01-09 17:05:41 +00:00
Samir Jindel 927b0cb9ed [vm/aot] Support optimization of modulo against a power-of-two.
Improves MD5 performance on ARM32 by 15%, from 1.25s to 1.05s.

Cq-Include-Trybots: luci.dart.try:vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-mac-release-simarm64-try, vm-kernel-precomp-win-release-x64-try
Change-Id: Ia7a0614da662a80db051362fff7a4acacbc2455f
Reviewed-on: https://dart-review.googlesource.com/c/88723
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-01-09 16:26:35 +00:00
Johnni Winther 2bc015b03a Remove dependency on TypeEnvironment.hierarchy
Change-Id: Ibc675aa37bf1d5f90640b41471d094025ae3da86
Reviewed-on: https://dart-review.googlesource.com/c/88805
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Auto-Submit: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-01-09 11:21:36 +00:00
Jenny Messerly 253b0cc1e3 [dartdevc] improve cast failoure error message
The new message should be a bit more understandable. Inspired by the
suggestion in #35480.

Change-Id: I1e20adf5a13191705b28121dbeaf323682e6d324
Reviewed-on: https://dart-review.googlesource.com/c/88300
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2019-01-08 18:46:16 +00:00
Johnni Winther fef600a998 Remove effectively empty type holders
+ correctly join with path with less information.

Change-Id: I44921f5b1d1613934d5321d87840db689b3b4b0b
Reviewed-on: https://dart-review.googlesource.com/c/88573
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-08 09:19:29 +00:00
Alexander Markov 0213c9f9d2 [gardening] Mark test as flaky in dartkb mode
Issue: https://github.com/dart-lang/sdk/issues/35590
Change-Id: I95721a0a62a1e6201ffd4f7833eed089f915c2e5
Reviewed-on: https://dart-review.googlesource.com/c/88660
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-01-08 01:49:49 +00:00
Ben Konyi b0900cf494 [ VM / Service ] Fixed issue where VMOptions were not being passed to app_jitk tests.
Fixes #35512.

Change-Id: I34abbf0f73215b6695a0aa4ec6af6cb1c219d5e9
Reviewed-on: https://dart-review.googlesource.com/c/88429
Auto-Submit: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-08 00:44:38 +00:00
Alexander Markov f6ce65b9b1 [vm] Fix handling of unwind errors in RegExp_ExecuteMatch* native methods
Fixes https://github.com/dart-lang/sdk/issues/35588

Change-Id: I59b4bd82033108e206572b27fda737a675c0da62
Reviewed-on: https://dart-review.googlesource.com/c/88620
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-01-07 22:47:33 +00:00
Jenny Messerly e541849a9f [dartdevc] fix mixin super constructor calls in kernel backend
Kernel and Analyzer have slightly different rules for creating implicit
constructors, which DDC's kernel backend did not account for. This
resulted in a mismatch between which super constructor calls it thought
were necessary, vs which constructors were generated.

Both DDC backends are now less sensitive to the representations, and
the kernel backend checks for field initializers in mixin declarations,
rather than relying on the (nonexistent) implicit constructor node.

Change-Id: I01a6ae11ecf78193d7db227ba0b7adeb27d514d5
Reviewed-on: https://dart-review.googlesource.com/c/88432
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2019-01-07 21:14:22 +00:00
Stevie Strickland 3f797f1223 [gardening] Marking ListBase_class_A01_t03 as Slow.
Similar to the changes made in 78482496d5.

Change-Id: Iebaf87506bad7ed3927b52fef9134c514edafc7c
Reviewed-on: https://dart-review.googlesource.com/c/88576
Reviewed-by: Stevie Strickland <sstrickl@google.com>
Commit-Queue: Stevie Strickland <sstrickl@google.com>
2019-01-07 17:00:22 +00:00
Johnni Winther 477de6b84b Cleanup unittests
- remove use of '_strong', '_trust', and '_checked' suffices
- test omit-implicit-checks by default

Change-Id: I2a83f6fb23a22c894cc7867c51ab460abb4cc524
Reviewed-on: https://dart-review.googlesource.com/c/88454
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-07 15:01:10 +00:00
Johnni Winther e14472c46b Use getters/setters found through the static types.
This uses the information from the static types now used in inference which
can improve the precision in particular for generic classes. Since type
masks lose the type argument information, we cannot expect locating members
based on the type mask to be more precise than what has been found through
the static types.

This CL also expands the unit test framework to support unit test of
optimizations and the emission model, including tests of the improved
field access handling.

Closes #35433

Change-Id: Ia5de15efaf8b60c8723943bb34de6eec7d380798
Reviewed-on: https://dart-review.googlesource.com/c/88440
Reviewed-by: Stephen Adams <sra@google.com>
2019-01-07 15:01:10 +00:00
Stevie Strickland 78482496d5 [gardening] Mark more large list sorts as slow.
These are tests split off from _A01_t02 in the resolution to
https://github.com/dart-lang/co19/issues/198.

Also removing the Timeout markers from the original tests,
since they should be smaller and thus no longer causing
timeouts.

Change-Id: I07699ae41a0c8e3f892cca5e29855b52fe7c2829
Reviewed-on: https://dart-review.googlesource.com/c/88570
Reviewed-by: Stevie Strickland <sstrickl@google.com>
Commit-Queue: Stevie Strickland <sstrickl@google.com>
2019-01-07 12:55:02 +00:00
Alexander Markov 3b29f5ad81 [VM/AOT/TFA] Do not attribute calls via fields/getters with inference results
MethodInvocation nodes which have field or getter as interface target
actually correspond to 2 calls: 1) getter; 2) implicit call() on the result
of the getter.

While this was correctly modeled in summaries in TFA, it is not correct
to attribute such MethodInvocation nodes with results of the inference,
as results correspond to an each distinct call. To fix this, Call
statements in summaries are created without attaching them to a
corresponding kernel AST node.

Change-Id: I3ea28ed85550192f8b592a926cac0eae23810811
Reviewed-on: https://dart-review.googlesource.com/c/88424
Commit-Queue: Martin Kustermann <kustermann@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-01-07 10:22:40 +00:00
Jenny Messerly 36ab8b18ea [dartdevc] implement set literal and enable-experiments support
Change-Id: Ibc45b1b1792d62a8f176e6c2f2f5c1e3134942f1
Reviewed-on: https://dart-review.googlesource.com/c/88400
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2019-01-04 22:08:54 +00:00
Ryan Macnak 5be48e1aca [test] Repair DWARF stacktrace test from Dart 2 damage.
Change-Id: I5deb25204251ec23546f323ce8ac0dc50298dfd3
Reviewed-on: https://dart-review.googlesource.com/c/87484
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-01-04 20:47:44 +00:00
Daco Harkes 7fd0c78c15 [gardening] Unmark language/vm/optimized_stacktrace_test
Re-enable language/vm/optimized_stacktrace_test to determine whether it is still a flaky issue.

Issue: https://github.com/dart-lang/sdk/issues/28276
Issue: https://github.com/dart-lang/sdk/issues/30198
Change-Id: I4b63e38f130f8320dc38564129a67b08ac5f1866
Reviewed-on: https://dart-review.googlesource.com/c/88450
Commit-Queue: Martin Kustermann <kustermann@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-01-04 16:29:48 +00:00
Stephen Adams 8deb5aabba Reinstate reduction for closure call to known static method
This was accidentally removed during the migration to kernel.

Change-Id: Ib4998074269b1bf5b1dd3feedebcb50dc1164c5d
Reviewed-on: https://dart-review.googlesource.com/c/88229
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-01-03 22:44:53 +00:00
Alexander Markov 0e65e45e9e [vm/compiler] Do not use interface target for calls via getters
For calls via getters and fields front-end generates MethodInvocation
node with interface target pointing to a getter/field.
Such target doesn't fully represent what is being called - it should
be implicitly chained by call(), so it is incorrect to use such
interface target for type propagation.

Change-Id: I76198b443474fdcb383671fbc9946b4938a4e1df
Reviewed-on: https://dart-review.googlesource.com/c/88260
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2019-01-03 22:03:13 +00:00
Régis Crelier 0668014f30 [VM compiler] Take FutureOr into account when checking for Number type.
A field typed 'FutureOr<T>' may contain an instance of a Number type at runtime.
This fixes issue #35542 and adds a regression test.

Change-Id: Idd19dff3edc5e061da28ab2906c34b3133ea8bd8
Reviewed-on: https://dart-review.googlesource.com/c/88280
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-01-03 19:45:53 +00:00
Aske Simon Christensen 5a29552002 Enable set literal tests for Fasta
Change-Id: I1c6cad6822d5528172e3ba036774fa58e7fd6432
Reviewed-on: https://dart-review.googlesource.com/c/88185
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-01-03 13:45:36 +00:00
Liam Appelbe 97156b5f41 [dart:io] Throw an exception if HttpClient attempts to connect after closing
Closes https://github.com/dart-lang/sdk/issues/31492

Bug: https://github.com/dart-lang/sdk/issues/31492
Change-Id: Ia4c6a9cdcb1a77cc945b3927dc1e1c43af6ebea0
Reviewed-on: https://dart-review.googlesource.com/c/88220
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-03 00:44:00 +00:00
Ben Konyi f1002ce11b [ Gardening ] Marked co19_2/LibTest/isolate/Isolate/kill_A01_t01 as Timeout, Pass.
Change-Id: I6d20f6d727aa89561c4cace0aaf51d4ae3ba4a33
Reviewed-on: https://dart-review.googlesource.com/c/88129
Auto-Submit: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-12-28 19:31:52 +00:00
Mike Fairhurst 88e6fe0f67 testing: refer to issue 35508 in status file entry
Change-Id: Ia81fa274ee26bee638a1c5f638edc194270f8b0e
Reviewed-on: https://dart-review.googlesource.com/c/88124
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-12-27 21:02:52 +00:00
Johnni Winther 5fdab895a2 Use static types in inferrer
Change-Id: I284ca47dbaab452bd67c688b461fcbbe9a69e751
Reviewed-on: https://dart-review.googlesource.com/c/87402
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-12-20 19:23:52 +00:00
Peter von der Ahé e45e334548 Rename strong mode to legacy mode in package:kernel
Change-Id: Ia4a8a9cac7817a8db5771ec82541b556c705f7c8
Reviewed-on: https://dart-review.googlesource.com/c/86353
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-20 18:06:34 +00:00
Sergey G. Grekhov 1172c36c87 [co19] DEPS updated
Change-Id: Ia5d4bade61125f1726dd4be4c2a38de6d545d16f
Reviewed-on: https://dart-review.googlesource.com/c/87560
Reviewed-by: Alexander Thomas <athom@google.com>
2018-12-20 13:56:11 +00:00
Sigmund Cherem 6c2d8bc8c1 Record getter and setter names in the minified-name table
Change-Id: I373babecdf3ccece386483d5aa4fcde320675b80
Reviewed-on: https://dart-review.googlesource.com/c/87480
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-12-18 22:05:18 +00:00
Martin Kustermann 0e34af62d2 [Gardening] Skip standalone_2/io/test_runner_test (not relevant for AOT)
This will make the new bare instructions bot green. (The test is not passing
the right flag to sub-processes)

Change-Id: I00bbc30e157d742e4eadfee3ba2cd4bd38f4ebee
Reviewed-on: https://dart-review.googlesource.com/c/87585
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-12-18 17:02:03 +00:00
Johnni Winther 8c7be910d0 Support compilation with the trivial abstract value domain
Change-Id: I1b42ee48f440db9e424448e794a8f8cc9d8f5f3a
Reviewed-on: https://dart-review.googlesource.com/c/86921
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-12-18 12:20:36 +00:00
Johnni Winther 6d4d3c6b07 Remove TrustTypeAnnotations
Change-Id: I7404d10c30642f5282d079e36cb4a20ee2066060
Reviewed-on: https://dart-review.googlesource.com/c/87401
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-12-18 11:00:09 +00:00
Liam Appelbe dcf24df2bb Shorten the script URI in stack traces for URI encoded scripts.
Closes https://github.com/dart-lang/sdk/issues/34091

Bug: https://github.com/dart-lang/sdk/issues/34091
Change-Id: I1dbf0c8ff282f617f3503265f7e3a24ab56dd57f
Reviewed-on: https://dart-review.googlesource.com/c/87421
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2018-12-17 23:36:09 +00:00
Sigmund Cherem b7a1eb4aea Simplify co19_2-dart2js status file to only track skips
Yay new workflow!!! Woo hoo!

Change-Id: I2218468c4acbe42d0a079c88153ec0a1797ba2b7
Reviewed-on: https://dart-review.googlesource.com/c/87166
Auto-Submit: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-12-17 20:04:14 +00:00
Samir Jindel 77889c10e3 [vm] Fix unmatched asyncLevel with retry() helper in socket tests.
Change-Id: Ia2cba787ff02e1b3d26b8fbab9cc4057842bd4cc
Reviewed-on: https://dart-review.googlesource.com/c/87067
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
2018-12-17 13:38:28 +00:00
Martin Kustermann 52f7e9ed71 [VM] Ensure the start of the entrypoints is also 2-byte aligned
Fixes https://github.com/dart-lang/sdk/issues/35419

Change-Id: I1e4478573c6fc032485ad7c1ec3069e4fa946733
Reviewed-on: https://dart-review.googlesource.com/c/87404
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-12-17 12:45:35 +00:00
Alexander Aprelev 7d14785115 This relands "Load isolate from parent's kernel in Isolate.spawn calls.".
Original PR was reverted because it broke hot-reload bots. This CL adds steps to initialize kernel_service compiler for child isolate. Compiler is needed to support hot-reload request. Child isolate's compiler is created from full kernel file produced by main isolate's compiler. Changes since original PR are pkg/vm/bin/kernel_service.dart in pkg/vm/lib/incremental_compiler.dart.

Further this CL changes kernel fingerprint calculation for interface types so it calculates the hash of the canonical names themselves, rather than indices(that might change from one compilation to another).

This reverts commit 63fd8f63e6.

Change-Id: I6fe5b2ef99f209b32cd4087dfd1c8cac229c2d8b
Reviewed-on: https://dart-review.googlesource.com/c/87265
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
2018-12-14 23:45:57 +00:00