Commit Graph

626 Commits

Author SHA1 Message Date
Vyacheslav Egorov d117760ba6 [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
This relands 75a9579ea0.

The approach works as follows:

Step 1: Kernel transform. Under the closed world assumption compute the
set of selectors dispatched dynamically, then mark all procedures that don't
match any of those selectors as 'not-dispatched-dynamically'.

Step 2: VM backend. When building IR for a function if this function was
marked as not-dispatched-dynamically then omit type checks for any parameter
that is not marked as generic-covariant-impl, as such arguments are guaranteed
to be checked on the caller side (by front-end).


+------------------------+------------+----------+-----------+--------------+
|       benchmark        |  baseline  |  current |  with opt |  improved by |
+------------------------+------------+----------+-----------+--------------+
| stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
| stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
+------------------------+------------+----------+-----------+--------------+

* Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
Baseline is at 6196496 bytes.


Alternatively to annotating individual procedures, I considered annotating Program node
with a set of dynamically dispatched selectors. Decoding and passing this information
around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
approach where all individual procedures are annotated.

Bug: https://github.com/dart-lang/sdk/issues/3179
Change-Id: I2f32a609e3872c74d5ae7bbd97555453aaedf15f
Reviewed-on: https://dart-review.googlesource.com/38125
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-02-02 11:43:55 +00:00
Vyacheslav Egorov 7078f6be58 Revert "[vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods."
This reverts commit 75a9579ea0.

Reason for revert: function_subtype_bound_closure7_test fails in darkp

Original change's description:
> [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
> 
> The approach works as follows:
> 
> Step 1: Kernel transform. Under the closed world assumption compute the
> set of selectors dispatched dynamically, then mark all procedures that don't
> match any of those selectors as 'not-dispatched-dynamically'.
> 
> Step 2: VM backend. When building IR for a function if this function was
> marked as not-dispatched-dynamically then omit type checks for any parameter
> that is not marked as generic-covariant-impl, as such arguments are guaranteed
> to be checked on the caller side (by front-end).
> 
> # Performance Impact
> 
> +------------------------+------------+----------+-----------+--------------+
> |       benchmark        |  baseline  |  current |  with opt |  improved by |
> +------------------------+------------+----------+-----------+--------------+
> | stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
> | stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
> +------------------------+------------+----------+-----------+--------------+
> 
> * Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
> Baseline is at 6196496 bytes.
> 
> # Alternative Implementations
> 
> Alternatively to annotating individual procedures, I considered annotating Program node
> with a set of dynamically dispatched selectors. Decoding and passing this information
> around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
> approach where all individual procedures are annotated.
> 
> Change-Id: I363db6d5dd1138fe25917646313c16d0b213c3b4
> Reviewed-on: https://dart-review.googlesource.com/37822
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Samir Jindel <sjindel@google.com>

TBR=vegorov@google.com,alexmarkov@google.com,sjindel@google.com

Change-Id: I0fd6bf3e6edfc3e605da2b996f9a0da6c409d01c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37802
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-02-01 20:41:19 +00:00
Vyacheslav Egorov 75a9579ea0 [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
The approach works as follows:

Step 1: Kernel transform. Under the closed world assumption compute the
set of selectors dispatched dynamically, then mark all procedures that don't
match any of those selectors as 'not-dispatched-dynamically'.

Step 2: VM backend. When building IR for a function if this function was
marked as not-dispatched-dynamically then omit type checks for any parameter
that is not marked as generic-covariant-impl, as such arguments are guaranteed
to be checked on the caller side (by front-end).

# Performance Impact

+------------------------+------------+----------+-----------+--------------+
|       benchmark        |  baseline  |  current |  with opt |  improved by |
+------------------------+------------+----------+-----------+--------------+
| stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
| stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
+------------------------+------------+----------+-----------+--------------+

* Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
Baseline is at 6196496 bytes.

# Alternative Implementations

Alternatively to annotating individual procedures, I considered annotating Program node
with a set of dynamically dispatched selectors. Decoding and passing this information
around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
approach where all individual procedures are annotated.

Change-Id: I363db6d5dd1138fe25917646313c16d0b213c3b4
Reviewed-on: https://dart-review.googlesource.com/37822
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-02-01 18:07:38 +00:00
Brian Wilkerson 4cad8c202d Attempt to fix bot status
Change-Id: Ib934765771306d57b218d3691c3bba249f1d90ef
Reviewed-on: https://dart-review.googlesource.com/37863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-31 19:51:55 +00:00
Jens Johansen 2f2d6b5cfb [kernel] Update Windows status files take #3
Change-Id: I2012724893e7366b36ad05b6d7942e9bad58ced2
Reviewed-on: https://dart-review.googlesource.com/36600
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-24 13:04:39 +00:00
Jens Johansen 57a3368b7f [kernel] Update Windows status files take #2
Change-Id: I41d78a6bbfb66dc0a8ce399b79890f7ed851dd39
Reviewed-on: https://dart-review.googlesource.com/36580
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-24 09:06:51 +00:00
Jens Johansen 827573fc2c Status file updates after changes to Windows crash-sniffing
Change-Id: I1fbf5ca58d1bb99811e622896ceb0d7177c87b43
Reviewed-on: https://dart-review.googlesource.com/36400
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-01-23 14:35:26 +00:00
Ryan Macnak 6ae065bb97 [gardening] Skip dart/spawn_shutdown_test on debug Windows.
Test fails flakily, unable to start new threads. The bot is likely out of memory.

Change-Id: I42b927e6e02f46530ab20b2655be6424e5c50bc5
Reviewed-on: https://dart-review.googlesource.com/36123
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-01-20 00:10:08 +00:00
Alexander Thomas 6888aae228 [gardening] Update status files make DBC builder green again
Change-Id: Ie90ad628b5ac8ffc7eba2c8f707545ba0b27939b
Reviewed-on: https://dart-review.googlesource.com/34902
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2018-01-16 18:16:52 +00:00
Alexander Thomas 27ebef64d4 [infra] Add VM Kernel Windows x64 builders
Bug: https://github.com/dart-lang/sdk/issues/31707
Change-Id: Ie56f4c6f78c9b7c27fc4f587857e412db3e8f358
Reviewed-on: https://dart-review.googlesource.com/33960
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-01-16 15:39:03 +00:00
Martin Kustermann 0bc46de838 [VM] Support spawning isolates when the main isolate was spawned from a Kernel IR file
Issue https://github.com/dart-lang/sdk/issues/31698

Change-Id: Ifc6662a3fd56245c10f5d924f771ef85ed9b222c
Reviewed-on: https://dart-review.googlesource.com/34742
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-01-15 17:51:54 +00:00
Ryan Macnak 9cf7d6fa93 Partial static mode changes for vm-service and tests (part 4).
Bug: https://github.com/dart-lang/sdk/issues/31587
Bug: https://github.com/dart-lang/sdk/issues/31696
Change-Id: I2b37ad97da0520db08f43981fdbc48b094942a0e
Reviewed-on: https://dart-review.googlesource.com/34306
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-12 20:12:41 +00:00
Aske Simon Christensen 4553cdeeb6 Support data URIs in StandardFileSystem.
Closes https://github.com/dart-lang/sdk/issues/31594

Change-Id: I8dad1429d91cc5934b37cb0be60d1e4039293b71
Reviewed-on: https://dart-review.googlesource.com/33461
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-01-11 11:23:36 +00:00
Ryan Macnak 7855487b80 [fuchsia] Don't attempt to free an empty region.
Bug: https://github.com/dart-lang/sdk/issues/31841
Change-Id: I4344372316db09a891764423077e651259a49362
Reviewed-on: https://dart-review.googlesource.com/34020
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-01-10 21:30:48 +00:00
Zachary Anderson 05684f6f54 [Fuchsia] Update test status file
related #31841

Change-Id: I462a5af9e4dccea119353fb1370558b72c624f7d
Reviewed-on: https://dart-review.googlesource.com/33920
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-01-10 17:15:38 +00:00
Alexander Thomas 89bd41d19a [infra] Simplify vm-kernel configurations in test matrix
This also adds the missing vm-kernel opt-counter builder.

Bug: https://github.com/dart-lang/sdk/issues/31753
Change-Id: I0199218f83d227cfc52505c213d7b689acd9c43e
Reviewed-on: https://dart-review.googlesource.com/31984
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-01-09 20:59:49 +00:00
Siva Annamalai ff32e86938 Adjust status files for passing tests.
Bug:
Change-Id: I7bd76bc94a2275d90b852457ad6073559d42478f
Reviewed-on: https://dart-review.googlesource.com/32521
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-05 06:58:30 +00:00
Alexander Markov c051a0b905 [VM, Tests] Turn Dart 2.0 fixed-size integers ON by default, v2
Dart 2.0 fixed-size integers are enabled in Dart VM in all modes.
Status of legacy tests is updated.

This CL includes ff9fc413a7 with fixes.

Change-Id: I632d8177e9d07cd82ecea75ab6c325681b3a25c9
Reviewed-on: https://dart-review.googlesource.com/32443
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-01-05 01:44:56 +00:00
Alexander Markov 90551f6aa5 Revert "[VM, Tests] Turn Dart 2.0 fixed-size integers ON by default"
This reverts commit ff9fc413a7.

Reason: buildbot failures.
Change-Id: I68ffde271c8ba3b212e3bf015e2e550c8c891441
Reviewed-on: https://dart-review.googlesource.com/32442
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-01-04 19:04:44 +00:00
Alexander Markov ff9fc413a7 [VM, Tests] Turn Dart 2.0 fixed-size integers ON by default
Dart 2.0 fixed-size integers are enabled in Dart VM in all modes.
Status of legacy tests is updated.

Change-Id: I967a413c0b81eb92cf6be78ad3ee324798288bd2
Reviewed-on: https://dart-review.googlesource.com/31406
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-01-04 18:02:57 +00:00
Alexander Markov b6276eb3d5 [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v3.
* Enable --limit-ints-to-64-bits for CFE when it is used to generate
  kernel for VM as CFE relies on int.parse being able to parse correct
  literals and reject incorrect.

* Pass --limit-ints-to-64-bits to gen_kernel via environment
  variable to support batch mode compilation.

Issue: https://github.com/dart-lang/sdk/issues/31339

Re-landing https://dart-review.googlesource.com/29941 with the fix:

* Use checked-in SDK to avoid timeouts on SIMARM bots.
  Checked-in SDK was updated and now includes necessary fixes.

Change-Id: I4a5a99455b60204572f3d619d7eb374035b03e40
Reviewed-on: https://dart-review.googlesource.com/30640
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-20 18:04:42 +00:00
Vyacheslav Egorov c41e92de84 [vm/aot] Ignore artificial methods when computing single target.
When AOT call specializer computes single target for a method
invocation it needs to ignore artificial methods like field
dispatchers and method extractors that are lazily injected
by the precompiler as compilation of the whole application
progresses.

Lazy injections means that we don't have complete knowledge
when we compile a single method.

Bug:
Change-Id: I249ca397bb3da89f512a1ace49b198a0ffc9bf97
Reviewed-on: https://dart-review.googlesource.com/30520
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2017-12-20 12:35:42 +00:00
Ryan Macnak d528e1651f Reapply "Misc "strong" mode fixes for dart:io."
Remove changes to Socket.flush and Socket.done.

Split socket_test and socket_exceptions_test so we can minimize suppressions.

Bug: https://github.com/dart-lang/sdk/issues/31587
Bug: https://github.com/dart-lang/sdk/issues/31685
Bug: https://github.com/dart-lang/sdk/issues/27453
Change-Id: I3c44223480554f57d66be048c0361f6d0c699be2
Reviewed-on: https://dart-review.googlesource.com/30389
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-19 21:41:47 +00:00
Martin Kustermann 32c4480403 [VM] Fix various issues in the VM, mainly simdbc64 related
* Fixes kernel flow graph builder to use instantiated type argumenst
    for CreateArray

  * Fixes prologue builder to mask the positon of named arguments in the
    arguments descriptor array

  * Add a SmiBitAndTOS instruction to DBC

  * Implement missing AssertSubtype DBC instruction

  * Ensure we don't use field guards in DBC mode

  * Remove incorrect assertions in LoadIndexedUnsafe/StoreIndexedUnsafe

  * Save argdesc_ in DBC simulator when calling the runtime to optimize
    a function (which can call re-entrant to Simulator via const
    evalulation)

Issue https://dart-review.googlesource.com/c/sdk/+/29581

Change-Id: Ia14b657db66f90643822b6986ec7f75f746ab0d8
Reviewed-on: https://dart-review.googlesource.com/30340
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-19 14:49:52 +00:00
Peter von der Ahé 51d4803855 Add onProblem to provide more flexible error handling
Change-Id: Iafd73e0a065a357170ec8836360644ecfef944b5
Reviewed-on: https://dart-review.googlesource.com/30443
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-12-19 12:06:44 +00:00
Vyacheslav Egorov 0dc324a68d Revert "[VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2."
This reverts commit 2a3f00a179.

Reason for revert: SIMARM bots are timing out.

Original change's description:
> [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2.
> 
> * Enable --limit-ints-to-64-bits for CFE when it is used to generate
>   kernel for VM as CFE relies on int.parse being able to parse correct
>   literals and reject incorrect.
> 
> * Pass --limit-ints-to-64-bits to gen_kernel via environment
>   variable to support batch mode compilation.
> 
> * Use current Dart SDK instead of checked-in Dart SDK to run CFE
>   in gen_kernel as checked-in Dart SDK is old and it doesn't have
>   int.parse fix yet.
> 
> Issue: https://github.com/dart-lang/sdk/issues/31339
> Change-Id: Iaba2a7945a3faa9427f9aab1e9f2b907fa2246a3
> Reviewed-on: https://dart-review.googlesource.com/29941
> Commit-Queue: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=vegorov@google.com,kustermann@google.com,alexmarkov@google.com,zra@google.com,asiva@google.com

Change-Id: Iecf26953bc6ae95c3bf0d1142bb89fb51cb0aaee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Issue: https://github.com/dart-lang/sdk/issues/31339
Reviewed-on: https://dart-review.googlesource.com/30440
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-12-19 08:52:25 +00:00
Ryan Macnak a51b45870c Revert "Misc "strong" mode fixes for dart:io."
This reverts commit c6f1ce24f3.

Reason for revert: standalone_2/io/socket_exception_test failing

Original change's description:
> Misc "strong" mode fixes for dart:io.
> 
> Bug: https://github.com/dart-lang/sdk/issues/31587
> Change-Id: I032be8e25aa8d6a851f0bf00ec12b1a3578308c6
> Reviewed-on: https://dart-review.googlesource.com/30080
> Reviewed-by: Zach Anderson <zra@google.com>
> Commit-Queue: Ryan Macnak <rmacnak@google.com>

TBR=rmacnak@google.com,zra@google.com,asiva@google.com

Change-Id: I9af0570577009b54e3a43f083008d65c4c3f9ba3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/31587
Reviewed-on: https://dart-review.googlesource.com/30420
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-19 00:04:10 +00:00
Ryan Macnak c6f1ce24f3 Misc "strong" mode fixes for dart:io.
Bug: https://github.com/dart-lang/sdk/issues/31587
Change-Id: I032be8e25aa8d6a851f0bf00ec12b1a3578308c6
Reviewed-on: https://dart-review.googlesource.com/30080
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-18 22:15:06 +00:00
Alexander Markov 2a3f00a179 [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2.
* Enable --limit-ints-to-64-bits for CFE when it is used to generate
  kernel for VM as CFE relies on int.parse being able to parse correct
  literals and reject incorrect.

* Pass --limit-ints-to-64-bits to gen_kernel via environment
  variable to support batch mode compilation.

* Use current Dart SDK instead of checked-in Dart SDK to run CFE
  in gen_kernel as checked-in Dart SDK is old and it doesn't have
  int.parse fix yet.

Issue: https://github.com/dart-lang/sdk/issues/31339
Change-Id: Iaba2a7945a3faa9427f9aab1e9f2b907fa2246a3
Reviewed-on: https://dart-review.googlesource.com/29941
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-18 21:43:06 +00:00
Martin Kustermann d84a83344e Update status files for simarm/simarm64/simdbc64
This brings the following configurations green:

  tools/test.py -mrelease -cdartk -asimarm
  tools/test.py -mrelease -cdartk -asimarm64
  tools/test.py -mrelease -cdartk -asimdbc64
  tools/test.py -mdebug -cdartk -asimdbc64

Issue https://dart-review.googlesource.com/c/sdk/+/29581

Change-Id: Ie79084bc123ace0ed59505da617ddcb30b9076c2
Reviewed-on: https://dart-review.googlesource.com/29585
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2017-12-14 15:34:15 +00:00
Florian Loitsch 9418215407 Mark truncating_ints_test as failing on dartk.
Change-Id: Ie9f3a1aa1b007aa104f1fbfe2a2b60cc67beb9bc
Reviewed-on: https://dart-review.googlesource.com/29582
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-12-14 09:59:37 +00:00
Samir Jindel 56ecbbde4b [kernel] Support 64-bit integer literals correctly in Fasta.
Bug:
Change-Id: Idfb037e79d247889fe6a7d9a9b475ca4f8637080
Reviewed-on: https://dart-review.googlesource.com/27800
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-12-13 20:35:19 +00:00
Vyacheslav Egorov efca9c69ab [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration.
Switch it to use pkg/vm/tool/dart2 which is the source of truth for what
Dart 2 VM configuration means. Don't pass any additional flags from
tools/test.py itself.

Align pkg/vm/tool/dart2 with what tools/test.py was passing to VM on _2 suites.

Make default invocation `tools/test.py -c dartk --strong -m release,debug`
green by updating status files and skipping suites that are not Dart 2.0
compliant. I have filed issues #31588 for isolate suite and #31587 for
service suite.

Reland of https://dart-review.googlesource.com/27820

Change-Id: I49400fae716f75425e70bf1e561b3375ba39157e
Reviewed-on: https://dart-review.googlesource.com/28565
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-12 12:19:10 +00:00
Vyacheslav Egorov e84fa65696 Revert "[vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration."
This reverts commit 50865e9387.

CQ on Mac is broken.

TBR=kustermann@google.com

Bug:
Change-Id: I41a7cab59c076dba4f25f5904725cca5bb4619c9
Reviewed-on: https://dart-review.googlesource.com/28420
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 21:07:43 +00:00
Vyacheslav Egorov 50865e9387 [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration.
Switch it to use pkg/vm/tool/dart2 which is the source of truth for what
Dart 2 VM configuration means. Don't pass any additional flags from
tools/test.py itself.

Align pkg/vm/tool/dart2 with what tools/test.py was passing to VM on _2 suites.

Make default invocation `tools/test.py -c dartk --strong -m release,debug`
green by updating status files and skipping suites that are not Dart 2.0
compliant. I have filed issues #31588 for isolate suite and #31587 for
service suite.

Change-Id: I882b28f6a011eabf69c349ff0792b275434e39ff
Reviewed-on: https://dart-review.googlesource.com/27820
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-11 12:49:22 +00:00
Morten Krogh-Jespersen 3db4b1070b Normalize all status files and enable presubmit hook.
This CL normalizes all status files by the status file normalizer found at
pkg/status_file/bin/normalize.dart.

To make sure all status files are kept in pristine condition, a linter is placed
on the presubmit hook. The linter can be found at pkg/status_file/bin/lint.dart.

Bug:
Change-Id: I20bdb74824be65f079b8c9ab08b7ae38394d637f
Reviewed-on: https://dart-review.googlesource.com/24112
Commit-Queue: Morten Krogh-jespersen <mkroghj@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2017-12-07 08:38:30 +00:00
Zachary Anderson 3c8e675804 [Fuchsia] Update test status file for passing tests
Change-Id: I685780349872054c23e504503f07335ffffe33cf
Reviewed-on: https://dart-review.googlesource.com/24620
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2017-11-29 21:34:50 +00:00
Morten Krogh-Jespersen 39907272f6 Remove comments from status files.
This will allow for having automatic tools to alphabetize sections and entries.

Bug:
Change-Id: Ia7b7a100ca33197c4f3b1c50c11f24873dfbc09b
Reviewed-on: https://dart-review.googlesource.com/23675
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-11-28 07:56:20 +00:00
Morten Krogh-Jespersen a9a5081e10 Remove duplicate entries in same section from status files.
If two sections are syntactically equal, they are considered same section.

The discovery of duplicate entries was perfomed by the test in the CL:
https://dart-review.googlesource.com/#/c/sdk/+/21341

All removals has been done by hand to make sure the best comment was chosen.

Bug:
Change-Id: I105f6375adc1b5f555eb7c2af7d7d1e4e1922a32
Reviewed-on: https://dart-review.googlesource.com/21340
Reviewed-by: Alexander Thomas <athom@google.com>
2017-11-27 11:07:18 +00:00
Siva Chandra 726337aa69 Fix the name of the test output file in .gitignore.
The output file name was recently changed (in
d42c44069a) but the name
in the .gitignore file was not updated.

Change-Id: Id9e5a1769294e24394703ac94cc0692eb3f36da2
Reviewed-on: https://dart-review.googlesource.com/22801
Reviewed-by: Morten Krogh-jespersen <mkroghj@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2017-11-22 19:10:34 +00:00
Siva Annamalai 1c282f6482 Fix a set of tests that exercised the library Dart API functions in kernel mode.
Change-Id: Id7ac9166615d2b7de3604da555d9fc61563586af
Reviewed-on: https://dart-review.googlesource.com/20340
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Siva Chandra <sivachandra@google.com>
2017-11-17 18:09:03 +00:00
Lasse R.H. Nielsen 0b58c4bd10 Change some constant declarations to lowerCase.
Retain the old values.

Reapply of https://dart-review.googlesource.com/c/sdk/+/20680 with fixes
for VM method fingerprints.

Change-Id: Ie14e7ccc3194d5561983348e6b6752728913ff4d
Reviewed-on: https://dart-review.googlesource.com/20664
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2017-11-14 12:59:14 +00:00
Lasse R.H. Nielsen e61fc07b58 Revert "Change some constant declarations to lowerCase."
This reverts commit c048cfb178.

Reason for revert: VM code fingerprints needs update.

Original change's description:
> Change some constant declarations to lowerCase.
> 
> Retain the old values.
> 
> Change-Id: I03bd326f379fe5f96d8f6081a7133de956d745c0
> Reviewed-on: https://dart-review.googlesource.com/11520
> Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
> Reviewed-by: Florian Loitsch <floitsch@google.com>

TBR=lrn@google.com,floitsch@google.com

Change-Id: I095e8198304ca4e59b39d30b0fdf0af4945e5231
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/20680
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2017-11-14 11:23:08 +00:00
Lasse R.H. Nielsen c048cfb178 Change some constant declarations to lowerCase.
Retain the old values.

Change-Id: I03bd326f379fe5f96d8f6081a7133de956d745c0
Reviewed-on: https://dart-review.googlesource.com/11520
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-11-14 11:13:04 +00:00
William Hesse baea6eecf8 Update status for vm/cc tests that timeout with dartk.
Bug:
Change-Id: I6379fe50227157a848a15ecd1bcdde8c84e6c6ef
Reviewed-on: https://dart-review.googlesource.com/19681
Reviewed-by: Alexander Thomas <athom@google.com>
2017-11-10 00:09:01 +00:00
Alexander Markov 9b845bce1b Silence updated vm/dart/truncating_ints_test test for dartkp
Issue: https://github.com/dart-lang/sdk/issues/31339
Change-Id: I10fcbb264331c638084390dfcdd1b4d0ad59d267
Reviewed-on: https://dart-review.googlesource.com/19740
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2017-11-09 20:31:47 +00:00
Alexander Markov 59cdc65dc7 [VM] Relax constraints for integer literals according to int64 spec
Handling of integer literals is corrected according to the informal spec
for the fixed-size integers:

https://github.com/dart-lang/sdk/blob/master/docs/language/informal/int64.md

This change allows unsigned 64-bit hexadecimal literals and MIN_INT64
to be used when running on the VM with --limit-ints-to-64-bits option.

Change-Id: Ied7a7688768bcf4ff40ab5b499dd71622d2c3948
Reviewed-on: https://dart-review.googlesource.com/19400
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2017-11-09 16:58:38 +00:00
Alexander Aprelev 1a45ad96ca Move super resolution from kernel transformation to VM flow graph construction.
Super resolution kernel transformation updates kernel graph with
resolved static calls in place, which breaks incremental modular nature
of transformations.

Bug: dartbug.com/31043
Change-Id: I7ec52d29ea03652cae1403dd89552b30686a5749
Reviewed-on: https://dart-review.googlesource.com/18320
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2017-11-08 20:17:51 +00:00
Vyacheslav Egorov 431d32596d [gardening] Update dartkp status files again.
R=kustermann@google.com

Bug:
Change-Id: I9c5d6af6326c4283aa9cff8f0264ce4c9e48bf62
Reviewed-on: https://dart-review.googlesource.com/19185
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-11-08 12:18:41 +00:00
Siva Chandra 3289dd2bff Move the kernel offset fields under !defined(DART_PRECOMPILED_RUNTIME).
Also added the missing reading/writing of kernel offsets of libraries
and patch classes in raw_object_snapshot.cc.

Fixes #31258 and #29850.

Change-Id: I7d22ccda9dd1ded9ad1f0963da33bce3975b84ba
Reviewed-on: https://dart-review.googlesource.com/18400
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2017-11-03 23:01:40 +00:00