Commit Graph

15405 Commits

Author SHA1 Message Date
Samir Jindel ae3a33bd79 [vm/aot] Fix issues with multiple entry-points.
- We can now skip checks on tearoffs of functions called only via tearoffs.
- We don't always insert a check when intrinsifying the an unchecked call to set indexed.
- We only build the unchecked entry-point of regular methods when inlining to reduce code size.

Change-Id: I2e6a647409130385cda03906e734a3c161d56ab4
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/c/86562
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-12-13 16:13:50 +00:00
Martin Kustermann 288d5f0a2a [VM] Bare instructions - Part 2: Start relocating instructions in AOT mode
Start ordering instructions before writing them out in AOT snapshots.

This is done by:

  * discovery of relevant code objects
  * ordering of the code objects (currently simply discovery order)
  * relocate any pc-relative calls by patching up pc-relative calls with
    the actual distance
  * producing image writer commands which tell it in which order and at
    which .text offsets to write out instructions

Note: Our compiler currently does not emit any pc-relative calls. This
will be added later on.

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

Change-Id: I0153c32a7427ea395e80489efadd5513fe7ca371
Reviewed-on: https://dart-review.googlesource.com/c/85745
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-12-13 12:53:09 +00:00
Martin Kustermann e4e77b9817 [VM] Bare instructions - Part 1: Add support for telling the image writer in which order instructions should be written
Issue https://github.com/dart-lang/sdk/issues/33274

Change-Id: If8c967d3ecafc551938271ce52157c5c4f384dff
Reviewed-on: https://dart-review.googlesource.com/c/85764
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-12-13 12:10:59 +00:00
Martin Kustermann f9e5cfe07a [Gardening] Remove flakyness marker for dart/appjit_determinism_test
Issue https://github.com/dart-lang/sdk/issues/35092

Change-Id: I84a3a79953e7b1d7d658712117fed092ccf45f69
Reviewed-on: https://dart-review.googlesource.com/c/87071
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Auto-Submit: Martin Kustermann <kustermann@google.com>
2018-12-13 11:14:55 +00:00
Alexander Aprelev ca41d01170 [vm] Fix lookup of async variables by taking ctx_level into account.
Until this CL variables are assumed to be found in current context only even though they could come from parent's contexts.

Bug: https://github.com/dart-lang/sdk/issues/34134
Change-Id: Ibcfe1449558086d0c82a85cfd213667e8c917fe0
Reviewed-on: https://dart-review.googlesource.com/c/87163
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-12-13 02:16:44 +00:00
Ryan Macnak 0b1935ca70 [vm] Remove hash-by-address from the ObjectPool builder.
Bug: https://github.com/dart-lang/sdk/issues/30978
Change-Id: I345be6d3f1d4680bd247225cb714017ac16501ec
Reviewed-on: https://dart-review.googlesource.com/c/85649
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-13 01:30:54 +00:00
Ryan Macnak e15e8609aa [vm, gc] Fix merge mistake from 04941b5507 that effectively disabled concurrent marking by setting the soft and hard allocation limits to be the same.
Revert 0b66d91cd4, which has issues unmasked by the above.

Bug: https://github.com/dart-lang/sdk/issues/30433
Bug: https://github.com/dart-lang/sdk/issues/34002
Change-Id: I95129dd2bbafa717989a57c5d62582fdb2e64ffe
Reviewed-on: https://dart-review.googlesource.com/c/87121
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-12 23:14:08 +00:00
Vyacheslav Egorov 6bf4d2ab1a [vm] Do not suppress WER when running VM outside of our test suite.
We prevent our crashing tests from hitting timeouts on the bots
by disabling Windows Error Reporting UI via SetErrorMode.

However this also disables builtin crash dump generation functionality
that WER has.

This change moves WER suppression for GP faults under a flag to
make sure that we can collect crash dumps when VM crashes on
user machines.

We also make sure that our exception handler call abort()
instead of calling exit() - because exit would not cause
WER to generate a dump.

Bug: https://github.com/flutter/flutter/issues/22558
Change-Id: I42f3e31cfaaa578f6a040b8f10621e5663cddc09
Reviewed-on: https://dart-review.googlesource.com/c/87061
Auto-Submit: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-12-12 18:34:13 +00:00
Samir Jindel 526b11d28e [vm] Add doc for snapshot profiling.
Change-Id: Ib33dffd5d7ad4bb6c3fc9eb83a8b321b6a85495c
Reviewed-on: https://dart-review.googlesource.com/c/86024
Auto-Submit: Samir Jindel <sjindel@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-12-12 12:38:13 +00:00
Ryan Macnak 566ae2490d [test] Update async stepping tests to reflect the status quo.
Note that stepping behavior has degraded since support for Dart was removed, and now includes spurious steps through the async implementation.

Bug: https://github.com/dart-lang/sdk/issues/34746
Change-Id: I573e1a945d96a9ddda839f22e66e1f68202005c5
Reviewed-on: https://dart-review.googlesource.com/c/86828
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-12 02:31:02 +00:00
Aart Bik a16f1bd67b [dart/fuzzer] Fix js execution mode specification
Rationale:
With recent refactoring, we need to give js a tag,
which actually makes the naming more consistent
(even though path for js is computed slightly differently).
Change-Id: I5649f38ae41c9bf133629f8a0602f03be99ac523
Reviewed-on: https://dart-review.googlesource.com/c/86945
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-12-11 19:18:10 +00:00
Ryan Macnak f6b5f9ce2e [vm] Add --gc_every to trigger major GC every N stack overflow checks.
Add DartFuzz configurations for various stress flags.

Change-Id: I2278ffcd1ea4193067c4c9f12ec669e48a182f00
Reviewed-on: https://dart-review.googlesource.com/c/86822
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-11 01:28:02 +00:00
Régis Crelier d8bd7d68b8 [vm] Fix bots after commit 5f36c5f9.
Add signature_ field to runtime/vm/raw_object_fields.cc.
This field was changed from a union (sig_or_err_) to a proper field and was
previously not listed in runtime/vm/raw_object_fields.cc.

Change-Id: I03736c003811a3e3b17c56d7419c53796d3ea0ec
Reviewed-on: https://dart-review.googlesource.com/c/86840
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-12-10 23:53:12 +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
Aart Bik 81de5ec21c [vm/compiler] Do not use UnboxedIntConverter on tagged.
Rationale:
This avoids rewriting
   v1 <- Constant(#1)
   v2 <- BoxInt64:1402(v1)
   v3 <- UnboxInt64(v2)
into the non-existing
   v3 <- UnboxedIntConverter(tagged->int64, v1)

Note:
Arguably the input was incorrect (v1 should have been
an unboxed constant), but we allow type sloppy expressions
at a lot of places that are repaired later on, as for
this case after the fix. See the bug for more details.

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

Change-Id: I719124ba150a1c72fe6819a1edd8380847fd82c2
Reviewed-on: https://dart-review.googlesource.com/c/86823
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-12-10 23:24:37 +00:00
Régis Crelier 5f36c5f9d8 [vm] Delete BoundedType class in VM.
In Dart2, type bounds checking is either performed by the common front-end or
by explicitly generated code, but not by type finalization or runtime anymore,
as it was done in Dart1.
Consequently, the class BoundedType is not needed anymore, and malbounded or
malformed types are not seen by the runtime either.

Change-Id: I5d6e4c68d153d6730fa7ff7f6d9dcfa611299c16
Reviewed-on: https://dart-review.googlesource.com/c/86687
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-12-10 23:15:27 +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
Stevie Strickland 40be306fb0 [gardening] Always copy ICData prior to write.
To do this, we create a new Truncate() methods for Arrays, truncate
the ICData array to either 1 (just sentinel) or 2 (SMI + sentinel)
entries in Reset(), and change FindFreeIndex() to instead be
GrowFreeIndex() (which always copies).

Closes #35010.

Change-Id: Ia30f4b490cf9420caef843d7fcde9f461d15a206
Reviewed-on: https://dart-review.googlesource.com/c/86563
Commit-Queue: Stevie Strickland <sstrickl@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-12-10 17:09:21 +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 499b5b23e1 [vm] Don't touch the PCMarker slot in the Dart profiler walker.
- The PCMarker slot may be uninitialized (okay, a few skipped samples) and on a guard page (not okay, crash).
 - With the upcoming "bare instructions" mode, some Dart frames will lack a PC marker slot.

Instead, add a sentinel value to the entry frame *above* its FP.

Change-Id: I70d737a6f2f76febe61fe774932127f5274565b1
Reviewed-on: https://dart-review.googlesource.com/c/86502
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-12-07 20:48:49 +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
Samir Jindel 921e62f1bf [vm] Introduce multiple entrypoints to AOT.
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
Change-Id: I8643033febf9bdc57c8298dca5f43346fb8bf6d1
Reviewed-on: https://dart-review.googlesource.com/c/80304
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-12-07 13:19:24 +00:00
Ryan Macnak 3e3f31b808 Reapply "[vm] Annotate longjmp-like functions with DART_NORETURN."
Fix repeated annoation on dart::bin::Platform::Exit.

Bug: https://github.com/dart-lang/sdk/issues/35224
Change-Id: I360c5b0bb3bb8b8f1688ad3cb6a8ad874bce56dc
Reviewed-on: https://dart-review.googlesource.com/c/86262
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-06 19:09:06 +00:00
Alexander Aprelev 2bf29f6244 [kernel] Avoid reporting token position on InvalidExpression.
Source line information is part of the message from the frontend itself already. Including it here results in double-reporting of the source line quote.

Bug: https://github.com/dart-lang/sdk/issues/35239
Change-Id: I4b2c88900ac029982ed08102ce37e87f8f83d180
Reviewed-on: https://dart-review.googlesource.com/c/86243
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-12-06 16:55:26 +00:00
Aske Simon Christensen 05fb37a808 Add SetLiteral node to kernel.
Change-Id: I2f12662efc8ae3f064674bba03c333e0c23ffa0d
Reviewed-on: https://dart-review.googlesource.com/c/85681
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-12-06 14:46:58 +00:00
Martin Kustermann 25e38ebd60 [Gardening] Change tests to use default --sync-async behavior (this is what we care about), remove Crash status file marker
To avoid Crashes for non-supported configurations (which --no-sync-async
is), this CL changes the tests to run in the default mode.

The tests are still failing because the new behavior does not match what
the test expects. -> The tests need to be changed.

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

Change-Id: I920ca4e0070f9cfb43ecf2ee3ee754ec1fe80e4a
Reviewed-on: https://dart-review.googlesource.com/c/86352
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Auto-Submit: Martin Kustermann <kustermann@google.com>
2018-12-06 12:10:33 +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
Ryan Macnak 60ed5f0960 [vm] Update Thread::TopErrorHandlerIsX to account for the interpreter.
Bug: https://github.com/dart-lang/sdk/issues/35224
Change-Id: I75065f2dcbe2a957f894f772cabb0121c6cdf8fc
Reviewed-on: https://dart-review.googlesource.com/c/86280
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-05 22:42:06 +00:00
Aart Bik d32254f13b [vm/compiler] Fix crash in AOT-debug (found with fuzzing)
Rationale:
After discussion with Slava, it turns out that the ASSERT
taht calls IsRepresentable() actually violates the truncating()
property that was assumed when the IsRepresentable() function was
only used in executable code. The simplest solution, therefore,
is to simply accept the uint32 case too.

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

Change-Id: I56a05c1bc0b985019f7bd2fb04afdef8708ef7ea
Reviewed-on: https://dart-review.googlesource.com/c/86251
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-12-05 21:22:23 +00:00
Régis Crelier af081ddde2 [interpreter] Revert due to regression reported by golem.
This reverts commit 74aad1162e to the interpreter.
Changes to the dbc simulator were already reverted.

Change-Id: I42193464fedc70738a998fd77902685707ac071e
Reviewed-on: https://dart-review.googlesource.com/c/86249
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
Auto-Submit: Régis Crelier <regis@google.com>
2018-12-05 20:18:00 +00:00
Ryan Macnak 07f43510a2 [vm] Fix some cases of dropped errors and confusion between Exceptions::PropagateError and LongJumpScope::Jump.
Assert against Exceptions::PropagateError skipping over LongJumpScopes and LongJumpScope::Jump skipping over exit frames.

Bug: https://github.com/dart-lang/sdk/issues/35224
Change-Id: I67004a73265882191cb1945cb5a049559b747e89
Reviewed-on: https://dart-review.googlesource.com/c/85411
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-12-05 18:57:02 +00:00
Ryan Macnak 679a1a7867 [vm] Clean up sticky error accessors.
Bug: https://github.com/dart-lang/sdk/issues/35224
Change-Id: I867b47a95d7b38e511259b06ef24424d8809096d
Reviewed-on: https://dart-review.googlesource.com/c/85861
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-12-05 18:39:41 +00:00
Samir Jindel 831ab3580c [vm] Don't crash on illegal entry-point access.
Fixes https://github.com/flutter/flutter/issues/24329.

Change-Id: I7de3cd5326b2719e8b5193aa12b5bc827a6ba81a
Reviewed-on: https://dart-review.googlesource.com/c/86206
Commit-Queue: Samir Jindel <sjindel@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-12-05 16:36:13 +00:00
Samir Jindel 085ebcab58 [vm] Mark some service tests as slow.
Change-Id: Ib459a8bc373a5c7090ce22b78574632dda9470b9
Reviewed-on: https://dart-review.googlesource.com/c/86205
Commit-Queue: Samir Jindel <sjindel@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-12-05 15:51:00 +00:00
Régis Crelier a28c29767d [dbc simulator] Partial revert due to regression reported by golem.
This reverts commit 74aad1162e to dbc simulator.
Changes to the interpreter are not reverted.

Change-Id: Id373a0497ba37c1d1c262735f995b1493515a0ed
Reviewed-on: https://dart-review.googlesource.com/c/86120
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-12-05 02:43:57 +00:00
Ryan Macnak bb791ff34d Revert "[vm] Annotate longjmp-like functions with DART_NORETURN."
This reverts commit 27907fed2d.

Reason for revert: Windows build

Original change's description:
> [vm] Annotate longjmp-like functions with DART_NORETURN.
> 
> Bug: https://github.com/dart-lang/sdk/issues/35224
> Change-Id: Ibbcf51cc42dd193cbd96fb7111a1e45cd9c97998
> Reviewed-on: https://dart-review.googlesource.com/c/85860
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=kustermann@google.com,rmacnak@google.com

Change-Id: Iba775ae382a41ef75f91c7097a0f042abaa12c40
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/35224
Reviewed-on: https://dart-review.googlesource.com/c/86140
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-05 01:50:33 +00:00
Ryan Macnak 27907fed2d [vm] Annotate longjmp-like functions with DART_NORETURN.
Bug: https://github.com/dart-lang/sdk/issues/35224
Change-Id: Ibbcf51cc42dd193cbd96fb7111a1e45cd9c97998
Reviewed-on: https://dart-review.googlesource.com/c/85860
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-12-05 01:37:04 +00:00
Ryan Macnak 0177ee1d64 [vm] KernelLoader::FinishLoading can sometimes trigger nested class finalization.
Bug: assertion failure on DBC after d6373525f7
Change-Id: Ia47f13ef55dfac02c0b0c3a74b8f67f3d2671417
Reviewed-on: https://dart-review.googlesource.com/c/86102
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-04 23:53:35 +00:00
Alexander Markov 66f81c30b1 [gardening] Increase allowed time difference in a test from 5s to 10s.
This is done to avoid flaky failures of runtime/observatory/tests/service/udp_socket_service_test.dart
test on slow debug-simdbc64 configuration.

This test failed with time difference being 6.4 seconds while only 5 seconds
difference was allowed:

Expected: a numeric value within <5000> of <1543951695426>
  Actual: <1543951689020.038>
   Which:  differs by <6405.9619140625>
Change-Id: I40f70045291b238a43322bdd9c5b9bb670e08e48
Reviewed-on: https://dart-review.googlesource.com/c/86083
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-12-04 21:25:42 +00:00
Régis Crelier 74aad1162e [interpreter and dbc simulator] Remove usage counter increment of icdata owner.
Incrementing the usage counter of the calling function (icdata owner) during
an instance call does not seem the correct thing to do.
In kernel bytecode, the counter is incremented as part of executing the
CheckStack instruction occuring at the beginning of each function.
In Dart bytecode, the counter is incremented as part of executing the
HotCheck instruction.

Change-Id: I2e4eebc9ae682520b93518e76e1c6856d5d9bb78
Reviewed-on: https://dart-review.googlesource.com/c/86001
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-12-04 20:50:58 +00:00
Liam Appelbe 63fd8f63e6 Revert "Load isolate from parent's kernel in Isolate.spawn calls."
This reverts commit e143a52531.

Reason for revert: Broke all the reload-kernel bots.

Original change's description:
> Load isolate from parent's kernel in Isolate.spawn calls.
> 
> Bug: https://github.com/dart-lang/sdk/issues/6610
> Change-Id: Icd6e1c5d6d4b64b611fc58333c051a8a9a50679d
> Reviewed-on: https://dart-review.googlesource.com/c/85724
> Commit-Queue: Liam Appelbe <liama@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

TBR=vegorov@google.com,rmacnak@google.com,asiva@google.com,liama@google.com

Change-Id: Ie9c305256da9b6478153b99502d0c63b0f43a3e6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/6610
Reviewed-on: https://dart-review.googlesource.com/c/86082
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2018-12-04 20:26:24 +00:00
Samir Jindel 49517fb3e6 Fix SDK build on Mac.
Change-Id: I42cb9ae19b6567d70af793c71ad93b8902cd37a0
Reviewed-on: https://dart-review.googlesource.com/c/86022
Commit-Queue: Samir Jindel <sjindel@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-12-04 20:18:23 +00:00
Keerti Parthasarathy 531551c7f1 Remove trailing comma in json
Change-Id: Ia51ed56fc6c63ce93cb0771dc68a5d94f53bc9e0
Reviewed-on: https://dart-review.googlesource.com/c/86060
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-04 20:08:33 +00:00
Aart Bik bbe9333af5 [dart/fuzzer] Report stderr on non-output divergence
Rationale:
The output for output divergences is too lenghty to
report (and should be reproducable anyway). However,
for any other divergence, we want to have a better
clue on what went wrong, since this may indicate
an infrastructure problem that is harder to reproduce.
Change-Id: I20e14a753048406fad6cbd55a270bf6958920915
Reviewed-on: https://dart-review.googlesource.com/c/86000
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-12-04 19:06:26 +00:00
Liam Appelbe e143a52531 Load isolate from parent's kernel in Isolate.spawn calls.
Bug: https://github.com/dart-lang/sdk/issues/6610
Change-Id: Icd6e1c5d6d4b64b611fc58333c051a8a9a50679d
Reviewed-on: https://dart-review.googlesource.com/c/85724
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-12-04 18:02:55 +00:00
Keerti Parthasarathy 4bda0fe427 Remove trailing comma from json
Change-Id: I2df9b3342b5d166606c3bc13569896dfeac20fe4
Reviewed-on: https://dart-review.googlesource.com/c/85960
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
2018-12-04 17:22:20 +00:00
Ryan Macnak d6373525f7 [standalone] Remove dead Dart 1 loading code.
Change-Id: I5551a40819b1e011cf50fe0dc38c74fe45f81160
Reviewed-on: https://dart-review.googlesource.com/c/85841
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-04 17:17:25 +00:00
Samir Jindel 5ad8bf78e2 Add KPI::bytecode_component_ to raw_object_fields.cc
Change-Id: I4db32b38291d5494d9c5acf80aca295c3a90f9b6
Reviewed-on: https://dart-review.googlesource.com/c/85772
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-12-03 19:59:07 +00:00