Commit graph

18067 commits

Author SHA1 Message Date
Aske Simon Christensen f2766eb24e Disallow references to this in field initializers.
Fixes https://github.com/dart-lang/sdk/issues/33858

Change-Id: I619de64353ac5131d949d8e3898617435e9f6dcc
Reviewed-on: https://dart-review.googlesource.com/68920
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-08-10 11:12:58 +00:00
Samir Jindel 5c7d257978 [kernel/vm] Fix native extensions.
Tested with imports through current directory, VM binary directory,
and LD_LIBRARY_PATH. This also restores the Dart 1 behavior of not supporting
relative extension paths.

Change-Id: I090bf8592fef74d4ccde40e6f550baa84c98e3bc
Reviewed-on: https://dart-review.googlesource.com/69162
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2018-08-10 11:06:56 +00:00
Sergey G. Grekhov f99b9b80ff [co19] co19_2 tests roll (DEPS and .status files update)
Closes #33894

Cq-Include-Trybots: luci.dart.try:front-end-mac-release-x64;luci.dart.try:front-end-win-release-x6;luci.dart.try:analyzer-mac-release;luci.dart.try:analyzer-win-release
Change-Id: If1fd4c78cb1c7948602d9a26276cce75cf3133d4
Reviewed-on: https://dart-review.googlesource.com/68860
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-10 08:28:38 +00:00
Harry Terkelsen 5d4e85ba3d Allow x == null to be a constant value whenever x is const.
This is the fix for #33408 for dart2js

Change-Id: Ifddeacb68884da308d279ce6d5cbbb6adc5385ca
Reviewed-on: https://dart-review.googlesource.com/69020
Commit-Queue: Harry Terkelsen <het@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-08-09 23:48:21 +00:00
Aart Bik 71d96019d1 [vm/compiler] Introduce 64-bit NEGATE - all archs.
Rationale:
This improves JIT and AOT performance of unary minus
and also improves constant folding and range analysis
on negative constant (viz. x / -3 is often x / - (3)).
The SHIFT operator needed some special treatment, since
we have to avoid converting a NON-speculative shifts
back into a deopt.

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

Change-Id: I230c9cfda98297f683bbba53688e57c2cc659360
Reviewed-on: https://dart-review.googlesource.com/68434
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-08-09 16:43:18 +00:00
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
Vyacheslav Egorov e2a1807fc2 [gardening] Update status for io/compile_all_test in PRODUCT AOT mode
TBR=kustermann@google.com

Change-Id: Ib8622df79334ef538fc0ac07bca03b6c877b9d36
Reviewed-on: https://dart-review.googlesource.com/69141
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-08-09 15:19:51 +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
Stephen Adams 8195fd8c64 Repair dart2js/string_interpolation_test
Change-Id: I52b61fa85df75f88bb033970ebb2feee2989fdad
Reviewed-on: https://dart-review.googlesource.com/69010
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-08 22:53:50 +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
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