Aske Simon Christensen
1842020a69
Fix empty set/map literal disambiguation rule.
...
The criterion for an empty set/map literal without type arguments to
become a set literal was implemented as "superclass of Set and not
superclass of Map". This CL changes it to the rule now stated in the
spec: "subtype of Iterable and not subtype of Map".
Change-Id: I52d3a11e29ed9b1feb0f2b52a3f4beebe3833e31
Reviewed-on: https://dart-review.googlesource.com/c/88828
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-11 15:14:05 +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
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
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
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
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
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
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
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
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
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
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
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
asiva
f0babb648b
[VM] status file for dartkp failure for issue 35419
...
Change-Id: I4a285dc8d4763cbacde02d89f6d237a05a198ac9
Reviewed-on: https://dart-review.googlesource.com/c/87383
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-12-14 21:26:12 +00:00
Martin Kustermann
08c386a33e
[VM] Do not use the contents of the megamorphic miss code in stack_frame
...
The megamorphic miss stub might not be initialized at the point in time
when we access it.
Fixes https://github.com/dart-lang/sdk/issues/35405
Change-Id: If20622bd4f3b14d6ece5a8de6f006d7081d6cf76
Reviewed-on: https://dart-review.googlesource.com/c/87322
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-12-14 15:06:10 +00:00
Lasse Reichstein Holst Nielsen
8dd03bee13
Add specification of set literals.
...
Bug: https://github.com/dart-lang/language/blob/63d164fa7a507b28aace20fffe31db2c3c9baa2d/accepted/future-releases/set-literals/implementation-plan.md (Task 10)
Change-Id: I9728706e235162318aec824484274aea58210e8a
Reviewed-on: https://dart-review.googlesource.com/c/84600
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2018-12-14 13:15:38 +00:00
Dmitry Stefantsov
e98701ea33
[fasta] Allow const constructors in mixin applications
...
Closes #33644 , closes #33645 , closes #32223 .
Bug: http://dartbug.com/33644
Bug: http://dartbug.com/33645
Bug: http://dartbug.com/32223
Change-Id: Ia30efb8f450e62bfeb65c8b7fd7e23871ef0e87e
Reviewed-on: https://dart-review.googlesource.com/c/68368
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2018-12-14 12:37:30 +00:00
asiva
d2578dee91
Mark language_2/deferred_optimized_test as flaky.
...
Change-Id: Iceb3ed11955fcb1e2cee88bdd87f3ac183857a46
Reviewed-on: https://dart-review.googlesource.com/c/87281
Reviewed-by: Siva Annamalai <asiva@google.com >
2018-12-14 00:21:48 +00:00
Jenny Messerly
f68ae70e8e
[dartdevc] ensure all throws are wrapped in JS Error ( #33331 )
...
This improves the default JS display of exceptions/errors from DDC
compiled code. This gives a better "default" experience if JS code
(or a JS engine, like browers/Node.js) ends up catching Dart exceptions.
Change-Id: Ib2dda6eee710f8b536d5ed7223e0101310a137b3
Reviewed-on: https://dart-review.googlesource.com/c/84446
Commit-Queue: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
2018-12-13 22:44:17 +00:00
asiva
9d99b4a5ba
[Gardening] Update status file to workaround issue
...
https://github.com/dart-lang/sdk/issues/35405
Change-Id: I3c556e93dad628fe213458fe4ad91e999b842874
Reviewed-on: https://dart-review.googlesource.com/c/87262
Reviewed-by: Ryan Macnak <rmacnak@google.com >
2018-12-13 21:08:35 +00:00
Ryan Macnak
30896b87f1
[vm] Fix crash when enum initialization hits a stack overflow.
...
Give the compiler more headroom.
Have the simulators and interpreters distinguish between the true stack limit and the limit for trigger an overflow exception.
Bug: https://github.com/dart-lang/sdk/issues/35224
Bug: https://github.com/flutter/flutter/issues/25041
Change-Id: I048d73b649b4ce1f3d9b5a33d898ee9cfe54f6ca
Reviewed-on: https://dart-review.googlesource.com/c/86821
Reviewed-by: Aart Bik <ajcbik@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-12-10 23:40:21 +00:00
Ryan Macnak
4463aa0038
Revert "[vm] Fix crash when enum initialization hits a stack overflow."
...
This reverts commit e59312dafa .
Reason for revert: Broken arm and arm64 simulators
Original change's description:
> [vm] Fix crash when enum initialization hits a stack overflow.
>
> Give the compiler more headroom.
>
> Have the KBC and DBC interpreters distinguish between the true stack limit and the limit for trigger an overflow exception.
>
> Bug: https://github.com/dart-lang/sdk/issues/35224
> Bug: https://github.com/flutter/flutter/issues/25041
> Change-Id: I85e72e1d3cceb70858c53567a4c8d3635e42165b
> Reviewed-on: https://dart-review.googlesource.com/c/86684
> Reviewed-by: Régis Crelier <regis@google.com >
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
TBR=rmacnak@google.com ,regis@google.com ,ajcbik@google.com
Change-Id: I923cca32d34de37b761196f536873aaf81dcbc92
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/35224 , https://github.com/flutter/flutter/issues/25041
Reviewed-on: https://dart-review.googlesource.com/c/86782
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-12-10 18:52:10 +00:00
Ryan Macnak
e59312dafa
[vm] Fix crash when enum initialization hits a stack overflow.
...
Give the compiler more headroom.
Have the KBC and DBC interpreters distinguish between the true stack limit and the limit for trigger an overflow exception.
Bug: https://github.com/dart-lang/sdk/issues/35224
Bug: https://github.com/flutter/flutter/issues/25041
Change-Id: I85e72e1d3cceb70858c53567a4c8d3635e42165b
Reviewed-on: https://dart-review.googlesource.com/c/86684
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-12-10 18:29:43 +00:00
Lasse Reichstein Holst Nielsen
a957c4351a
Add more tests for async*/await-for operations.
...
Change-Id: Icadb9edfe2ef40aff3808295685f961897d63c9a
Reviewed-on: https://dart-review.googlesource.com/c/86181
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
2018-12-10 14:38:34 +00:00
Aart Bik
c1a0c611c3
[vm/compiler] Add missing case for CP
...
Rationale:
Constant propagator was missing a case for a
double binary operator.
https://github.com/dart-lang/sdk/issues/35321
https://github.com/dart-lang/sdk/issues/35355
Change-Id: Ie88fe082e88b74651e798d516784737b36b4dcd1
Reviewed-on: https://dart-review.googlesource.com/c/86101
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-12-07 22:38:10 +00:00
Ryan Macnak
4191437ccc
Revert "[vm] Fix crash when enum initialization hits a stack overflow."
...
This reverts commit 67b5c878b3 .
Reason for revert: Failures on KBC and ASAN.
Original change's description:
> [vm] Fix crash when enum initialization hits a stack overflow.
>
> Also, give the compiler more headroom.
>
> Bug: https://github.com/dart-lang/sdk/issues/35224
> Bug: https://github.com/flutter/flutter/issues/25041
> Change-Id: I51b24cdd79ac790c0ee951e14738a6e7b6f65647
> Reviewed-on: https://dart-review.googlesource.com/c/86584
> Commit-Queue: Ryan Macnak <rmacnak@google.com >
> Reviewed-by: Aart Bik <ajcbik@google.com >
TBR=rmacnak@google.com ,ajcbik@google.com
Change-Id: I1d4c2297154f93f16d2e33756713b30ebe024901
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/35224 , https://github.com/flutter/flutter/issues/25041
Reviewed-on: https://dart-review.googlesource.com/c/86683
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Ryan Macnak <rmacnak@google.com >
2018-12-07 21:08:33 +00:00
Ryan Macnak
67b5c878b3
[vm] Fix crash when enum initialization hits a stack overflow.
...
Also, give the compiler more headroom.
Bug: https://github.com/dart-lang/sdk/issues/35224
Bug: https://github.com/flutter/flutter/issues/25041
Change-Id: I51b24cdd79ac790c0ee951e14738a6e7b6f65647
Reviewed-on: https://dart-review.googlesource.com/c/86584
Commit-Queue: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Aart Bik <ajcbik@google.com >
2018-12-07 19:54:41 +00:00
Aart Bik
e566ca90b4
[vm/compiler] Fix AOT null comparison
...
Rationale:
Found by DartFuzz, AOT did not always properly implement
the == test on null. Associated regression test is
heavily stripped down test.
https://github.com/dart-lang/sdk/issues/35325
https://github.com/dart-lang/sdk/issues/32166
Change-Id: If01d944295a089b438aabf7092987706e442ba26
Reviewed-on: https://dart-review.googlesource.com/c/86300
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-12-06 00:04:43 +00:00
Paul Berry
670f9ab49b
Merge commit '65401da92251a7318e3264b816ce0c4e14701751' into analyzer
2018-12-04 15:38:21 -08:00
William Hesse
c71a5279c5
Revert "Add more tests for async*/await-for operations."
...
This reverts commit a0d576e6cd .
Reason for revert: Turned many buildbot builders red. Use the "Choose tryjobs" button to run more configurations on this type of commit. Use the "tools/bots/approve_results.dart" tool to update expectations for builders running the new workflow
Original change's description:
> Add more tests for async*/await-for operations.
>
> Change-Id: I2c8ffb8a6738b8dee43cfdf85be0c54d2735b6cc
> Reviewed-on: https://dart-review.googlesource.com/c/85391
> Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
> Reviewed-by: Leaf Petersen <leafp@google.com >
TBR=lrn@google.com ,leafp@google.com
Change-Id: I81830c3fc565b62e98538feba9bd64c6dd11dd51
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/86023
Reviewed-by: William Hesse <whesse@google.com >
2018-12-04 20:09:46 +00:00
Jenny Messerly
d3c3341b8a
[dartdevc] fix conditional imports in kernel backend
...
Change-Id: I694b67624dff65099ca8cb8147d2b56a3532cd6c
Reviewed-on: https://dart-review.googlesource.com/c/85880
Reviewed-by: Jake Macdonald <jakemac@google.com >
Commit-Queue: Jenny Messerly <jmesserly@google.com >
2018-12-04 18:39:46 +00:00
Paul Berry
0a4873bb35
Merge commit '191a09f540ac0516c4088fb8454c693743be8b3f' into analyzer
2018-12-04 09:41:55 -08:00
Lasse Reichstein Holst Nielsen
3000e93024
Update status file for yet another combination.
...
Change-Id: Ic5be67964e9179205cf7352a61e1e98df7778dd7
Reviewed-on: https://dart-review.googlesource.com/c/85951
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
2018-12-04 15:54:00 +00:00
Lasse Reichstein Holst Nielsen
a0d576e6cd
Add more tests for async*/await-for operations.
...
Change-Id: I2c8ffb8a6738b8dee43cfdf85be0c54d2735b6cc
Reviewed-on: https://dart-review.googlesource.com/c/85391
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
2018-12-04 13:58:03 +00:00
Lasse Reichstein Holst Nielsen
897f15d955
Update constant set literal tests.
...
Fix incorrect type variable tests and don't allow multiple equal elements.
Change-Id: I793d8ac20c3435f5e2a2db8cb9137057e4ba6a17
Reviewed-on: https://dart-review.googlesource.com/c/85920
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2018-12-04 12:34:50 +00:00
Paul Berry
43cd8ba822
Merge commit '4eeebc46cff4e47e6265e86f4774da103d060aa1' into analyzer
...
Conflicts:
pkg/analyzer/CHANGELOG.md
pkg/analyzer/pubspec.yaml
2018-12-03 12:20:40 -08:00
Aart Bik
aae0f7997d
[vm/compiler] Express control dependence as data dependence.
...
Rationale:
This provides a more robust way of expressing control
dependences between bounds checks and their uses, while
still allowing for CSE and LICM where possible.
This also fixes the original bug that started this
whole redesign: invalid LICM of checkbound.
Note:
Deals with bounds check, null check still TBD.
Reland of:
https://dart-review.googlesource.com/c/sdk/+/85470
Mini design doc:
runtime/docs/compiler/data_dep_for_control_dep.md
https://github.com/dart-lang/sdk/issues/35139
https://github.com/dart-lang/sdk/issues/34684
https://github.com/dart-lang/sdk/issues/30633
Change-Id: I24b994344ed28c9f5fbf0ed033698be75448df1c
Reviewed-on: https://dart-review.googlesource.com/c/85720
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-12-03 18:07:39 +00:00
Lasse R.H. Nielsen
7be1d77423
Remove invalid tests from set literal tests.
...
See #35300
Bug: http://dartbug.com/35300
Change-Id: I00610ce9eadc51499fc5f35d43095dbf29d07543
Reviewed-on: https://dart-review.googlesource.com/c/85740
Reviewed-by: Erik Ernst <eernst@google.com >
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
2018-12-03 14:07:12 +00:00
Paul Berry
63770042aa
Merge commit '80c23f87a3e3123d7e337c1fc8bc3b5ec49b34a0' into analyzer
2018-11-30 08:12:45 -08:00
Jens Johansen
17d322b62a
Handle AmbiguousBuilder in computeRedirecteeType
...
We get an AmbiguousBuilder if there are more than one redirecting
factory with the same name. We shouldn't crash though.
Fixes #35266 .
Bug: 35266
Change-Id: I1ac0babdde49c4ca3966e6af5c580191baac0873
Reviewed-on: https://dart-review.googlesource.com/c/85390
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-30 12:58:07 +00:00
Jens Johansen
5410bc4098
Fix rare crash in type inference engine
...
Before this CL, running fasta compile on these 3 tests would make it
crash in type inference because the enclosingClass on a constrcutor
is null:
tests/language_2/const_error_multiply_initialized_test.dart
tests/language_2/constructor_duplicate_final_test.dart
tests/language_2/field3_test.dart
Note that these tests are all multi-tests and they are here run
unprocessed. The compiler crashes only after issuing errors.
The crash likely happens because of multiple definitions of
constructors with the same name.
This is a cut-down version that crashed prior to this CL:
```
class C {
final d;
C() {}
C(this.d) {}
}
```
Fixes #35258 .
Change-Id: I350c55428932ef0ae76f78875177b08acf95cdfc
Reviewed-on: https://dart-review.googlesource.com/c/85363
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2018-11-30 12:57:17 +00:00
Jens Johansen
ad62f21e5b
Fix crash with multiple same-named redirecting constructors
...
Without this CL we end up putting a null-reference in the tree because
the parent is never set on the redirecting constructor we try pointing
to.
Fixes #35259 , #35260 .
Change-Id: I8ad520453742ff1de8dd9ca5e619f9edbff9971c
Reviewed-on: https://dart-review.googlesource.com/c/85384
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-11-30 08:53:10 +00:00
Aart Bik
ef419f68f9
Revert "[vm/compiler] Express control dependence as data dependence."
...
This reverts commit 41f3d4326e .
Reason for revert: I hit +2 by accident when I wanted to submit do a dry run
Original change's description:
> [vm/compiler] Express control dependence as data dependence.
>
> Rationale:
> This provides a more robust way of expressing control
> dependences between bounds checks and their uses, while
> still allowing for CSE and LICM where possible.
> This also fixes the original bug that started this
> whole redesign: invalid LICM of checkbound.
>
> Note:
> Deals with bounds check, null check still TBD.
>
> Mini design doc:
> runtime/docs/compiler/data_dep_for_control_dep.md
>
> https://github.com/dart-lang/sdk/issues/35139
> https://github.com/dart-lang/sdk/issues/34684
> https://github.com/dart-lang/sdk/issues/30633
>
> Change-Id: Icfbd3ca60662e37046e48b95be7f81d05d94af88
> Reviewed-on: https://dart-review.googlesource.com/c/85470
> Commit-Queue: Aart Bik <ajcbik@google.com >
> Reviewed-by: Alexander Markov <alexmarkov@google.com >
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
TBR=vegorov@google.com ,kustermann@google.com ,rmacnak@google.com ,alexmarkov@google.com ,asiva@google.com ,ajcbik@google.com
Change-Id: Id20699f957681c248851b37d545b330fd4972d7a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/85522
Reviewed-by: Aart Bik <ajcbik@google.com >
Commit-Queue: Aart Bik <ajcbik@google.com >
2018-11-29 03:02:17 +00:00
Aart Bik
41f3d4326e
[vm/compiler] Express control dependence as data dependence.
...
Rationale:
This provides a more robust way of expressing control
dependences between bounds checks and their uses, while
still allowing for CSE and LICM where possible.
This also fixes the original bug that started this
whole redesign: invalid LICM of checkbound.
Note:
Deals with bounds check, null check still TBD.
Mini design doc:
runtime/docs/compiler/data_dep_for_control_dep.md
https://github.com/dart-lang/sdk/issues/35139
https://github.com/dart-lang/sdk/issues/34684
https://github.com/dart-lang/sdk/issues/30633
Change-Id: Icfbd3ca60662e37046e48b95be7f81d05d94af88
Reviewed-on: https://dart-review.googlesource.com/c/85470
Commit-Queue: Aart Bik <ajcbik@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2018-11-29 01:47:18 +00:00
Paul Berry
82add824fd
Merge commit 'db89c2d1ac3e8b6c6130cbb714c4e242e6fefc27' into analyzer
2018-11-27 15:11:22 -08:00
Sigmund Cherem
8d41ec30c0
Remove obsolete comment in status files.
...
I added these when we were maintaining the .status files with a script at the
time strong-mode was being implemented in the CFE. The comments are no longer
relevant.
TBR=paulberry@google.com
Change-Id: I3d37da32cd611731e3e0d91a5aa751fa550cc179
Reviewed-on: https://dart-review.googlesource.com/c/85408
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-11-27 01:25:51 +00:00
Paul Berry
e649ed1aa3
Merge commit 'c1daa3276566e48dac6f52742264578092c56a35' into analyzer
2018-11-21 08:47:55 -08:00