Commit Graph

2317 Commits

Author SHA1 Message Date
Vyacheslav Egorov 63c11693e6 [gardening] Fix language_2/type_variable_promotion_test.
Avoid depending on the user visible name for a growable list:
VM in product mode returns _GrowableList and dart2js returns JSArray.

R=kustermann@google.com

Change-Id: I820e7cb7c475ba1aa0288beb3ba14c78ea37faf3
Reviewed-on: https://dart-review.googlesource.com/69140
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-08-09 16:03:20 +00:00
Martin Kustermann ba119d7292 [VM] Remove "$compiler == precompiler" sections from language_2_precompiler.status
All of those tests are already skipped in the legacy "$compiler == precompiler" configuration.

Change-Id: I963c66d32cf79bed99e81e30aef40f7d01a12cef
Reviewed-on: https://dart-review.googlesource.com/68921
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-09 09:30:54 +00:00
Martin Kustermann 34f17b2973 [VM] Add missing 6-type-test to subtypecache search in simdbc (it has it in 2 places)
Also this CL ports x64 changes to StubCode::GenerateSlowTypeTestStub() to arm/arm64.

Change-Id: I1e6bb3ae51724e97dac28c7d75ac9d0f4f2db01b
Reviewed-on: https://dart-review.googlesource.com/68885
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-08 15:45:02 +00:00
Martin Kustermann 575a8f8381 [VM] Extend subtype-test mechanism with support for generic methods
Until now the subtype-test cache mechanism did not work (i.e. could
return the wrong result) for partially instantiated generic closures.

Additionally, closures which close over generic methods were always
handled in runtime.  This caused a servere performance regression for
any code hitting this (e.g. code which uses `package:stack_trace`).

Fixes https://github.com/dart-lang/sdk/issues/34051
Fixes https://github.com/dart-lang/sdk/issues/34054

Change-Id: Idb73e6f348c2fe0c737f42c57009f5f7a636c9a6
Reviewed-on: https://dart-review.googlesource.com/68369
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-08-08 13:40:58 +00:00
Stephen Adams c712470bb9 dart2js status bingo
TBR=sigmund@google.com

Change-Id: I6851fd7e53c04e2dd148a568a74b15319b4621c4
Reviewed-on: https://dart-review.googlesource.com/68851
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-08 00:58:03 +00:00
Stephen Adams 4d156f9fb0 [dart2js] Fix function_type GVN bug
Fixes #30476

Change-Id: Ie1e536c197b137ccddeeaa45d337f1bd16a2ff78
Reviewed-on: https://dart-review.googlesource.com/68848
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-08 00:05:14 +00:00
Régis Crelier 8c059e7a34 Update language_2 status file for kernel bytecode passing tests.
About 20 tests that were marked as failing actually pass.

Change-Id: Ib1f8b51359bfba41d0bab7bb28a5eb83340a11fb
Reviewed-on: https://dart-review.googlesource.com/68842
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-07 23:57:48 +00:00
Dmitry Stefantsov d933d4aa39 Update tests for const constructors in subclasses of mixin applications
Change-Id: I6203256f8fc4ff4ef7312ec95dcd23ab99e5d54c
Reviewed-on: https://dart-review.googlesource.com/68663
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-08-07 17:26:25 +00:00
Stephen Adams b570ea1ff1 status update to make dart2js run function_type/ tests
Change-Id: I54159ad72356a1476509ca2ab426ffabc693a01f
Reviewed-on: https://dart-review.googlesource.com/68602
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 17:13:37 +00:00
Erik Ernst df9ca4c9f9 Adjusted method_override_test to eliminate spurious compile time error
Change-Id: I1f46f28c220ba2a6d5c5e3dc4f2c3efd010c7a8a
Reviewed-on: https://dart-review.googlesource.com/68664
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2018-08-07 12:55:21 +00:00
Jens Johansen f6a74b0412 Add note to status about a tests that cannot be expected to pass
I suppose an alternative would be do delete the test.

Change-Id: I79373fea26d8ee774473646ada6e17ad253f6531
Reviewed-on: https://dart-review.googlesource.com/68622
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-08-07 09:04:23 +00:00
Stephen Adams f754b8c572 Remove dead language_2_dart2js.status lines
vm/xxx is dead because vm/*: SkipByDesign

TBR: sigmund@google.com

Change-Id: Ib1da8e8d9860fb055ae89dfd6bde160b5b0fb0ae
Reviewed-on: https://dart-review.googlesource.com/68601
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 03:24:40 +00:00
Stephen Adams 9f238d9b35 Remove $fasta from language_2_dart2js.status
The old parser has been deleted for some time.

Change-Id: Ib49b82d6be1d8d816ef50c64d37ebd067297c1f5
Reviewed-on: https://dart-review.googlesource.com/68600
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 02:40:48 +00:00
Stephen Adams a521870e1a Clean up dart2js assertion_test status
Change-Id: I665cfdd5a17da10dbab3fb187eb2ce1b3e922a4e
Reviewed-on: https://dart-review.googlesource.com/68580
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-07 01:09:31 +00:00
Aske Simon Christensen 72b2542d81 Mark tests with Dart 1 constants in const context failing in all configs.
Update Dart 1 status for 03df8b1eb8.

This should make the front-end legacy bot go green.

Change-Id: I8679da869ac1e03aa263fc8181869bf47880cc5a
Reviewed-on: https://dart-review.googlesource.com/67540
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-08-06 08:31:37 +00:00
Leaf Petersen f02d4d48f4 Fix bad merge
Change-Id: Ia2db9bfe1e04ace4bb94ae7a1f5fc013924b71b4
Reviewed-on: https://dart-review.googlesource.com/68433
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-08-04 00:03:03 +00:00
Leaf Petersen 1a832455e6 Triage language tests for void
Change-Id: I4fc4bc583f6fe25a0a083efc6b9cda5ef9ae5ceb
Reviewed-on: https://dart-review.googlesource.com/66521
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2018-08-03 23:21:23 +00:00
Alexander Markov 1babc13b93 [vm/kernel/bytecode] Report compile-time errors from constant evaluation while generating bytecode
Change-Id: I931622f5e442a439f5bfa241aade686b1bc91afd
Reviewed-on: https://dart-review.googlesource.com/68222
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-08-03 19:21:17 +00:00
Konstantin Shcheglov 8692936f48 Verify constants using Analyzer.
This fixes 44 failing language_2 tests.

Change-Id: I9248a940c56764d030e5cb1c8d558a3d41b88899
Reviewed-on: https://dart-review.googlesource.com/68340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-03 17:39:54 +00:00
William Hesse 46743f3868 Remove $runtime == drt sections and uses of drt from status files.
Change-Id: Iffd934a67668901176a84c9b01512711a011652d
Reviewed-on: https://dart-review.googlesource.com/67803
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-08-03 12:40:46 +00:00
Régis Crelier 804fc2add3 [VM runtime] Consider partial instantiation when printing closures (fixes #34034).
Add regression test.

Change-Id: Ie83e8dc68e853942b186314cc572b2cf075d455f
Reviewed-on: https://dart-review.googlesource.com/67681
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-08-01 15:43:48 +00:00
Kevin Millikin c3b7f29d46 Change a pair of negative tests to multitests
Negative tests are inflexible: they are expected to fail so they pass
if they fail and the fail if they pass.  This requires strange status
file entries when they don't fail and aren't expected to (e.g., the
front-end's parser or the spec parser does not necessarily fail (i.e.,
pass)).

Change-Id: I1397b24fea63431472aa182f178bd14bc2afe8fe
Reviewed-on: https://dart-review.googlesource.com/67802
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-08-01 15:31:04 +00:00
Jens Johansen 695476f115 Status file after 03df8b1
app_jitk is not tested on try bots.

TBR.

Change-Id: If688115a4f5aca84728548e51c52e303d693ee25
Reviewed-on: https://dart-review.googlesource.com/67801
Reviewed-by: Jens Johansen <jensj@google.com>
2018-08-01 12:29:33 +00:00
Jens Johansen 03df8b1eb8 Change a few language_2 tests to comply with reality
Fix up override_inheritance_method_test.dart
Fix up override_inheritance_generic_test.dart
Fix up override_inheritance_field_test.dart
Fix up override_field_test.dart

Change-Id: I09f88c18e2473be645a955e1dc63d788e61382f4
Reviewed-on: https://dart-review.googlesource.com/64682
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2018-08-01 11:03:12 +00:00
Aart Bik 8bad5c7b29 [vm/compiler] Non-speculative X64 long division/remainder.
Rationale:
Having a non-speculative implementation avoids deopting
under JIT and enables AOT.

https://github.com/dart-lang/sdk/issues/33967

Change-Id: Ib38200502f5a8f63912ff5d7a808ea6e27f9001d
Reviewed-on: https://dart-review.googlesource.com/67502
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-01 00:13:55 +00:00
danrubel 4734c55882 Report error on unsupported operators
Change-Id: Iea1469e1252c89c630e8bf646caf37051d78c84c
Reviewed-on: https://dart-review.googlesource.com/67401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-31 18:23:10 +00:00
William Hesse 21db860271 Remove non-strong dart2js builders from test_matrix.json
Change-Id: I76c4a1f0df8f6e8f6ddd03fd35c9a069845687ef
Reviewed-on: https://dart-review.googlesource.com/67346
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-07-30 17:47:44 +00:00
Brian Wilkerson 6ad79ff4bd Update status file for tests passing under CFE
Change-Id: I996b15cfa074546503874dfea391ee46560ba815
Reviewed-on: https://dart-review.googlesource.com/67381
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-30 17:04:10 +00:00
Aart Bik 4482d13ff7 [vm/compiler] Bug fix in 64-bit MOD (%) operator.
Rationale:
While writing tests for the ongoing native 64-bit
MOD/TRUNCDIV support in AOT, I noticed a floating-point
crash in our VM due to evaluating the constant mod case:

  Expect.equals(0, mod(minInt64, -1));
  Expect.equals(minInt64, truncdiv(minInt64, -1));

This fixes the constant evaluation part.

https://github.com/dart-lang/sdk/issues/33967

Change-Id: I9a4e6b3cd4d0d0dee39c690d2b981b5812501be4
Reviewed-on: https://dart-review.googlesource.com/67281
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-07-28 00:52:42 +00:00
Stephen Adams 29b893b124 [dart2js] Evaluate map literal key before value
Change-Id: I41c0c004ddd3f04c0eb48520df7f92ed86d7c8b7
Reviewed-on: https://dart-review.googlesource.com/67206
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-07-27 21:55:40 +00:00
danrubel 238bffec02 Report error on illegal initializer
Change-Id: If1485b20c8be2370100709baeb3b735a723fc265
Reviewed-on: https://dart-review.googlesource.com/67180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-27 20:35:19 +00:00
Alexander Markov cb70de8afa [vm/compiler] Fix negated integer comparisons in AOT
Fixes https://github.com/flutter/flutter/issues/19612

Change-Id: I5cf45b7243e4c2b50bb29f8b0f3dafc55a1f1838
Reviewed-on: https://dart-review.googlesource.com/67040
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-07-27 17:35:58 +00:00
danrubel 0a66473c96 Report error on non-sync factory
Change-Id: I579c8908ed29fa1ae0ac63629d5bf733777296ab
Reviewed-on: https://dart-review.googlesource.com/67000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-27 14:50:57 +00:00
Aske Simon Christensen 911672e204 Avoid crash on duplicated field with initializer
Fixes https://github.com/dart-lang/sdk/issues/31191

Change-Id: I14995dfff04f4ea08014ab20716cc208012b3c82
Reviewed-on: https://dart-review.googlesource.com/66568
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2018-07-27 11:02:05 +00:00
Aart Bik 8edd2d5eb0 [vm/compiler] Non-speculative IA32 long multiplication.
Rationale:
The former speculative long multiplication on 32-bit
achitectures is no longer necessary with 64-bit
arithmetic wrap-around semantics. Having a non-speculative
implementation avoids deopting under JIT and enables AOT.

https://github.com/dart-lang/sdk/issues/31878

Change-Id: Iedd641304b10d2bf55fc1f283eccdba4a836423c
Reviewed-on: https://dart-review.googlesource.com/66942
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-26 23:51:46 +00:00
Konstantin Shcheglov 8c8a211c6e Understand 'isNegative' for Analyzer as 'hasError'.
Change-Id: Ia9489806c472cdbe44f3a234b3403c5ad5086b3b
Reviewed-on: https://dart-review.googlesource.com/67021
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-26 21:44:18 +00:00
danrubel 50b13015c9 Report error on annotation with type parameters
Change-Id: Ia57537fb76917da6c22ef30462fdd51fe8aea977
Reviewed-on: https://dart-review.googlesource.com/66604
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 19:14:36 +00:00
danrubel 9422495ad6 Report error on factory with type parameters
Change-Id: I7765b0bd27edc1d373378832da9d43d12f3dc8f2
Reviewed-on: https://dart-review.googlesource.com/66603
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-26 19:14:36 +00:00
danrubel 903173eebb Update analyzer status file
Change-Id: I282736e75892837a7420c23b457e119ae6c683c4
Reviewed-on: https://dart-review.googlesource.com/67001
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-07-26 18:29:04 +00:00
Dan Rubel 77bb0ddfde Update analyzer status file
Change-Id: I3074ed151e125937b40a912aa43cea6c9469fd81
Reviewed-on: https://dart-review.googlesource.com/66980
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-07-26 16:29:47 +00:00
Jenny Messerly 21b85f326a fix #33348, length is a valid enum field name
Change-Id: Id4f9b3134a8041c826b7c8ccdd2763380f5fc987
Reviewed-on: https://dart-review.googlesource.com/66229
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-25 22:05:25 +00:00
danrubel a74d6eac69 Report error on constructor with type parameters
Change-Id: I29a6e88f9d820834b13b0fa1c42a11d25d2e49f0
Reviewed-on: https://dart-review.googlesource.com/66602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-25 18:54:07 +00:00
danrubel 41018ae11e Report error on async/sync method with no method body
Change-Id: I567fd26dd2c50f0f522020409dc41dac86b6466c
Reviewed-on: https://dart-review.googlesource.com/66601
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-25 16:57:45 +00:00
danrubel 751e19c6d7 Report error if expression is not assignable
Change-Id: Iabc26a4587b7905337f3bbe4826a2ed650d2f56c
Reviewed-on: https://dart-review.googlesource.com/66480
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-25 16:06:29 +00:00
danrubel f0f81d211a Report syntax error on external top level method with body
Change-Id: I87ec15a7f05792e1192d036fe42284f721b09aa4
Reviewed-on: https://dart-review.googlesource.com/66440
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-24 23:40:11 +00:00
Konstantin Shcheglov 7ff85ccf13 In strong mode StaticTypeWarningCode is an error, so void_ test pass in Analyzer + CFE.
Change-Id: I8e980a63d07606f368197e0ca19c269afe8711da
Reviewed-on: https://dart-review.googlesource.com/66223
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-23 19:56:39 +00:00
Peter von der Ahé 9eac90d2a2 Check void usage and invalid returns
Second take on 11001793a2,
but we treat all the problems as warnings.

This reverts commit 5c9c90f7e1.

Change-Id: Id9fdeabf5d49fefb48cfe4a0ca1b6da2be7dff59
Reviewed-on: https://dart-review.googlesource.com/66160
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-07-23 16:41:03 +00:00
Aart Bik c76e071b79 [vm/compiler] Improved integer power specialized inlining.
Rationale:
"Inlines" special cases of int pow() in strong mode
(viz. x^y for either small constant x or y).

History: revert^2 of
https://dart-review.googlesource.com/c/sdk/+/65576
https://dart-review.googlesource.com/c/sdk/+/66041

https://github.com/dart-lang/sdk/issues/33861

Change-Id: I779e18432a28e82db739cef77d6e6b82148eb70a
Reviewed-on: https://dart-review.googlesource.com/66120
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-22 20:59:48 +00:00
Aart Bik 9791508d90 Revert "[vm/compiler] Improved integer power specialized inlining."
This reverts commit cadc4c33ca.

Reason for revert: simarm is not happy with power, even without the opt

Original change's description:
> [vm/compiler] Improved integer power specialized inlining.
> 
> Rationale:
> "Inlines" special cases of int pow() in strong mode
> (viz. x^y for either small constant x or y).
> 
> https://github.com/dart-lang/sdk/issues/33861
> 
> Change-Id: I2e52784f82e39bb0ce33733aef70cbc56f27e451
> Reviewed-on: https://dart-review.googlesource.com/65576
> Commit-Queue: Aart Bik <ajcbik@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>

TBR=vegorov@google.com,alexmarkov@google.com,asiva@google.com,ajcbik@google.com

Change-Id: I33daaf15fe7b7cac53ec5eeff76e867ee31d2451
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/66041
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-07-20 23:24:46 +00:00
Mike Fairhurst 5c9c90f7e1 Revert "Check void usage and invalid returns"
This reverts commit 11001793a2.

Reason for revert: Doesn't allow void to void assignment. This is breaks a lot of packages.

Original change's description:
> Check void usage and invalid returns
> 
> Closes https://github.com/dart-lang/sdk/issues/30470
> 
> Change-Id: I2ed5b54c74e0bba2771036774bbe2197ce29109d
> Reviewed-on: https://dart-review.googlesource.com/65141
> Commit-Queue: Peter von der Ahé <ahe@google.com>
> Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>

TBR=ahe@google.com,dmitryas@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I78f479cf8b0824dd338ae43a5514f320fd112a3f
Reviewed-on: https://dart-review.googlesource.com/66040
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-07-20 22:29:45 +00:00