Commit graph

18058 commits

Author SHA1 Message Date
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
Samir Jindel 278d962a7f [vm/precomp] Update status files for Dart 1 AOT.
Change-Id: I0e861b66e0db56bb1b538f164bbcc98939570559
Reviewed-on: https://dart-review.googlesource.com/68884
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-08 12:22:43 +00:00
Alexander Thomas 1b6992b915 [dart2js] Mark failing unit tests as RuntimeError to fix CQ (#34095)
TBR=whesse@google.com

Change-Id: I29b27468a9f528b7d193c428bad92c0ba8f1d053
Reviewed-on: https://dart-review.googlesource.com/68881
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-08 09:25:10 +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
Stephen Adams 4196c0e2f5 Fix dart2js/sourcemaps/minified_names_test
TBR=sigmund@google.com

Change-Id: Ie48333f2bfa9352c7ff787acc00dc12aa5c97cd5
Reviewed-on: https://dart-review.googlesource.com/68846
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-08 00:01:57 +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
Stephen Adams 9510738c62 dart2js status update
Change-Id: I4ceae060c6786b400f2f0f77c15c7ddbdbd61422
Reviewed-on: https://dart-review.googlesource.com/68845
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-07 23:37:19 +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
Samir Jindel de408202a5 [vm/precomp] Take 4 for procedure- and class-entrypoints.
This reverts commit 08f59e5de3.

There are no changes to take 3 except fixing merge conflicts.

Change-Id: I45d5a16274c80f469827c19f4e4f4ca724e85a67
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-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-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/68363
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-07 13:54:27 +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
Stephen Adams 7cf2607344 Make minified names explicit in printed representation of types.
Supports mixed minified and unminified names (like `List` and `num` below).

Example:
TypeError: Closure 'minified:b3': type '() => minified:o<minified:k<num>>' is not a subtype of type 'List<minified:o<minified:k<num>>>'


Change-Id: I1fc67f189170eb9b9c8614b1e3d33128adc49787
Reviewed-on: https://dart-review.googlesource.com/67303
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-06 22:28:11 +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
Sigmund Cherem cb7341fceb Initial support for inlining-data in source-maps.
This starts tracking inlining data and records it as an extension
to source-map files so we are able to expand inlined calls when
deobfuscating production stack traces.


Change-Id: I46daf21c2f42305b2bd6ca17fbafb65226355096
Reviewed-on: https://dart-review.googlesource.com/67083
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-07-31 21:41:50 +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
Zach Anderson 174649b9be [gardening] Update status of dissasemble_test on Windows
related #34030

Change-Id: I323fd40716f6b2862d3abc93a311b500f55ffbb1
Reviewed-on: https://dart-review.googlesource.com/67600
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-07-31 15:57:42 +00:00
William Hesse 18047b2757 Refactor test.dart by changing class Configuration to TestConfiguration
Change-Id: I03624c2cefc6bf5c293ecf016c52de6740e5893f
Reviewed-on: https://dart-review.googlesource.com/67462
Reviewed-by: Alexander Thomas <athom@google.com>
2018-07-31 11:11:16 +00:00
William Hesse 7373d38a31 Update status for Dart2js minified CSP on Chrome with fast startup
Change-Id: I1f2fec8ecd328b29d3bad0623ef9fe5262bc2b3b
Reviewed-on: https://dart-review.googlesource.com/67461
Reviewed-by: Alexander Thomas <athom@google.com>
2018-07-31 10:18:40 +00:00
Zach Anderson 0313f7bd66 [gardening] Update status file for failing test
related #34030

Change-Id: I5806294d38d2c28aa80f6e1292dbf28b7774b0d0
Reviewed-on: https://dart-review.googlesource.com/67480
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-07-30 22:21:19 +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
Jenny Messerly 058510eeab fix #28233, add hint for missing returns to function expressions
If a function expression is used in a context that expects a return type
other than dynamic/void/Null, issue a hint if that function has a block
body and is missing a `return` statement.

Change-Id: Ia55212abd84f5718343cf7401b87aba2891d6446
Reviewed-on: https://dart-review.googlesource.com/66340
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-07-28 01:50:31 +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
Ben Konyi 08f59e5de3 These changes are causing a segfault in DartEntry::InvokeFunction in dart_entry.cc in Flutter,
which was blocking the Dart SDK roll.

Revert "Take 3 for "[vm/kernel/precomp] Remove procedures from entry points files.""

This reverts commit 567109df7f.

Revert "[vm/precomp] Extend @pragma entry-points to classes."

This reverts commit 232698047c.

Change-Id: Ib63d1afb8a1c978be7ddf282af0e7d5547111cc3
Reviewed-on: https://dart-review.googlesource.com/67300
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-28 00:01:50 +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