Commit Graph

11329 Commits

Author SHA1 Message Date
Kevin Millikin 392ba729ac Revert a change to an integer size
FinalizeHash gets called with values of hashbits that are larger than 32.
Fixes #28626.

BUG=https://github.com/dart-lang/sdk/issues/28626
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2669183004 .
2017-02-03 15:46:36 +01:00
Kevin Millikin 8d7583b8d1 Mark a service test that seems flaky on Windows
This test has failed twice recently, both times on Windows.  This is
issue #28625.

BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2671783004 .
2017-02-03 13:50:57 +01:00
Kevin Millikin 407464ce90 Mark a pair of flaky service tests
These test have (unexpectedly) different event timestamps.  This is
issue #28624.

BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2671613007 .
2017-02-03 13:29:20 +01:00
Florian Schneider dbb1a1caa2 Fix an assertion about canonical types in the precompiler.
Recursive types can be equivalent, but have loops of different lengths, therefore not always canonicalized.

When rehashing, don't forget the last element.

Adjust integer type in hash code computation. It should not make
a difference, but seems consistent to use the same size of both
sides.

BUG=
R=regis@google.com

Review-Url: https://codereview.chromium.org/2677473003 .
2017-02-02 16:13:26 -08:00
John McCutchan 95b84d898e Fix stale key names in get_isolate_rpc_test.
BUG=
R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2673753002 .
2017-02-02 15:10:32 -08:00
Ben Konyi 2a20b0433d Fix for issue #28606. Removed loop which iterated over all threads in the thread registry to check if a handle is valid and replaced it with a single check with the current thread.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2672833003 .
2017-02-02 15:09:05 -08:00
Todd Turnidge e60003d1a7 Remove a major source of flaky service test failures.
The first three bugs below have bug reports which indicate that they
will be fixed.  The bottom three bugs were filed without log
information, so it is impossible to know if they will be fixed or not,
but it is quite possible.

Closes #26470
Closes #28947
Closes #28605
Closes #28091
Closes #28184
Closes #28185

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2671603004 .
2017-02-02 14:54:20 -08:00
John McCutchan 7a20e49a38 Change the DevFS base path
- [x] Append the file system name as a child directory. This gives a common
suffix for source paths.

BUG=
R=turnidge@google.com

Review-Url: https://codereview.chromium.org/2669223003 .
2017-02-02 12:58:21 -08:00
John McCutchan 1660cab84d Skip the type test for expressions which have already evaluated to true or false.
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2667353003 .
2017-02-02 11:58:29 -08:00
John McCutchan 39729e0d9d Revert "Expand _AssertionError._evaluateAssertion in the frontend"
This reverts commit 9779ff264a.

BUG=

Review-Url: https://codereview.chromium.org/2675803002 .
2017-02-02 10:27:41 -08:00
Ben Konyi ed4bf4f2e0 Removed instances of fprintf in run_vm_tests and replaced them with OS::Print/PrintErr.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2675553002 .
2017-02-02 09:43:06 -08:00
John McCutchan 9779ff264a Expand _AssertionError._evaluateAssertion in the frontend
The call in _evaluationAssertion becomes megamorphic and this is
showing up on Flutter's profile. Avoid the call becoming megamorphic
by inlining the body at the AST level.

BUG=
R=hausner@google.com

Review-Url: https://codereview.chromium.org/2655803007 .
2017-02-02 07:34:34 -08:00
Florian Schneider 15a4d5d6d1 Windows: Link library sources into gen_snapshot/dart_bootstrap
This allows gen_snapshot and dart_bootstrap to run without having
a full SDK snapshot around.

The generated cc file looks like:

static const char source_array_1[] = {
 '\x2f', '\x2f', '\x20', '\x43', '\x6f', ...
};
static const char source_array_2[] = {
 '\x2f', '\x2f', '\x20', '\x43', '\x6f', ...
};
...

const char* dart::Bootstrap::core_source_paths_[] = {
 "dart:core",
 "/path/to/sdk/lib/core/core.dart",
 source_array_1,

 "annotations.dart",
 "/path/to/sdk/lib/core/annotations.dart",
 source_array_2,
...

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2668353004 .
2017-02-01 15:55:59 -08:00
Siva Annamalai b25d59ebb4 Land https://codereview.chromium.org/2662393002 for Jason.
R=jsimmons@google.com

Review-Url: https://codereview.chromium.org/2667183002 .
2017-02-01 10:38:21 -08:00
Kevin Millikin 1b3b85690f Do not try to read vm-service and kernel-service
The VM service isolate and the Kernel service isolate are given script
URIs that are respectively "vm-service" and "kernel-service".  We
should not try to treat these as binary files.  Normally they just
don't exist, but if they happen to exist we should not read them.

BUG=
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2662213004 .
2017-02-01 12:59:02 +01:00
Erik Corry 9b1b85b48c Remove unused code for stubs with three checked args
R=vegorov@google.com
BUG=

Review-Url: https://codereview.chromium.org/2667963005 .
2017-02-01 10:27:26 +01:00
Florian Schneider 7ac05a4e02 Fix background compiler issue with new-space allocation in the parser.
Field::GetterName would allocate in new-space which is not allowed
during background compilation.

Fixes #26316.

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2665003002 .
2017-01-31 17:21:03 -08:00
Florian Schneider e27226f557 Fix various alignments to make ARM precompilation work on Windows.
The alignments have to match for the simulators across different OSes to
generate correct precompiled code.

Fixes #28575.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2665143004 .
2017-01-31 17:06:24 -08:00
Ryan Macnak 1688aa810e Add --print-benchmarking-metrics to the VM for Golem.
R=fschneider@google.com, johnmccutchan@google.com, sortie@google.com

Review-Url: https://codereview.chromium.org/2572873003 .
2017-01-31 16:39:19 -08:00
Ben Konyi c8e275537d Surfaced native heap memory allocation information to the Observatory
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2667743004 .
2017-01-31 16:09:49 -08:00
Ben Konyi f2fd150ea0 Added new type of unit test, RAW_UNIT_TEST_CASE, which is used for tests that can be flaky if run while the VM is alive. Tests created using the RAW_UNIT_TEST_CASE macro will run after the VM has shutdown to avoid having any worker threads contaminating the test results.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2666133002 .
2017-01-31 15:16:38 -08:00
Ryan Macnak b93307ea92 Move the kernel isolate snapshot out of the 'runtime' target to reduce build times on the simulators.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2663063006 .
2017-01-31 14:46:30 -08:00
Ben Konyi 171a27b79c Fixed issue where initial 1KB zone buffer was not being accounted for when tracking thread zone memory usage.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2651273004 .
2017-01-31 14:32:26 -08:00
Todd Turnidge efcdcb7709 Add Debugger_Rewind_Optimized test.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2664303002 .
2017-01-31 13:52:23 -08:00
Ben Konyi b00df4d4ac Modified service to include current native zone memory consumption information in the VM object. Added a field to display this new information on the main page of the Observatory.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2657283004 .
2017-01-31 13:26:01 -08:00
Todd Turnidge bbc2ac93a3 Start adding vm/cc tests for rewind functionality.
These will make it easier to debug rewind on simdbc64.

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2662333002 .
2017-01-31 12:02:26 -08:00
Todd Turnidge bcb7cfa79e Better reporting of ambiguous and "not found" commands in Obs debugger.
Add a missing space in another random file.

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2552783003 .
2017-01-31 11:31:31 -08:00
Ryan Macnak 9eb216a495 Reapply "Create an app snapshot of the Dart front end."
Skip training on Windows, issue #28532.

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2665753002 .
2017-01-31 09:47:51 -08:00
Vyacheslav Egorov a7ffe24177 VM: [Kernel] Switch to DFE for testing -c dartk configuration.
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2668503003 .
2017-01-31 18:25:02 +01:00
Erik Corry b4a122a89c Cleaner version of IA32 stub optimization
R=vegorov@google.com
BUG=

Review-Url: https://codereview.chromium.org/2660923002 .
2017-01-31 13:18:01 +01:00
Martin Kustermann fc2458b842 VM: [Kernel] Partial support for checked mode.
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2659363003 .
2017-01-31 12:10:46 +01:00
Jens Johansen e7766c950e Debugging in kernel shaping up.
This introduces

- a list of valid token positions, so debugging actually
  starts to work, and the observatory can be loaded without crash.

- a list of valid yield positions, so stepping over await stuff
  works as expected.

- Adding "DebugStepCheckInstr" to the kernel generated il so stepping
  over await stuff works as expected, we can break in empty methods etc.

With this, approximately 80% of the service tests pass in kernel mode.

R=kmillikin@google.com

Committed: https://github.com/dart-lang/sdk/commit/2d5147be9d7435c06dd892d145d8717b6d1f62d5
Review-Url: https://codereview.chromium.org/2632183002 .
2017-01-31 11:59:06 +01:00
Jens Johansen d0e0ef52ef Revert "Debugging in kernel shaping up."
This reverts commit 2d5147be9d.

INTPTR_MAX doesn't exist on all builders.

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2664143002 .
2017-01-31 11:26:46 +01:00
Jens Johansen 2d5147be9d Debugging in kernel shaping up.
This introduces

- a list of valid token positions, so debugging actually
  starts to work, and the observatory can be loaded without crash.

- a list of valid yield positions, so stepping over await stuff
  works as expected.

- Adding "DebugStepCheckInstr" to the kernel generated il so stepping
  over await stuff works as expected, we can break in empty methods etc.

With this, approximately 80% of the service tests pass in kernel mode.

R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2632183002 .
2017-01-31 11:01:29 +01:00
Vyacheslav Egorov 9bae50bf47 VM: [Kernel] Revert changes to the native ports that introduced peers.
The problem with these changes was that closed ports still continue to receive
messages and as a result we start using dead peer objects.

Fixing that would require more intrusive changes into message handler implementation - so instead we are reverting the changes and restoring manual PORT -> PEER mapping.

BUG=
R=erikcorry@google.com

Review-Url: https://codereview.chromium.org/2666063002 .
2017-01-31 10:30:15 +01:00
Florian Schneider 5c75e37ae4 Fix potential unprotected use of handle in Windows event handler.
The lock should be held across the use of handle_.

Attempt to resolve #28523.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2664073002 .
2017-01-30 18:18:09 -08:00
Ryan Macnak dfd471eea2 Make the segfault handler attempt to symbolize Dart frames.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2668443004 .
2017-01-30 16:38:50 -08:00
John McCutchan d6c8478c5a Fix Mac IA32 build breakage
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2664993002 .
2017-01-30 14:09:58 -08:00
Vyacheslav Egorov 43a0500e37 VM: [Kernel] Fix bootstraping when Kernel isolate is used.
We must bootstrap from Kernel instead of Source when running with --dfe

BUG=
R=asiva@google.com, kustermann@google.com

Review-Url: https://codereview.chromium.org/2651633002 .
2017-01-30 20:52:59 +01:00
Ben Konyi 1bb198ccc7 Updated status file to allow malloc hook tests to fail while they are being de-flakified.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2663873002 .
2017-01-30 11:06:16 -08:00
Florian Schneider 76188f1349 Fix simarm product build on Windows
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2662933002 .
2017-01-30 10:40:36 -08:00
Ben Konyi f679b3c3e5 Reintroducing MallocHooks changes with fix for hooks being called when in execvpe after a fork while the MallocHooks lock is held by a thread that may no longer exist.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2647283004 .
2017-01-30 09:55:20 -08:00
Erik Corry d2860aff58 Revert IA32 part of stub optimization
Buildbot is not happy.
R=vegorov@google.com
BUG=

Review-Url: https://codereview.chromium.org/2661883002 .
2017-01-30 15:42:07 +01:00
Erik Corry 10796ae455 reland Optimizations to IC stub for unoptimized code performance
R=vegorov@google.com
BUG=

Review-Url: https://codereview.chromium.org/2660863002 .
2017-01-30 14:19:21 +01:00
Vyacheslav Egorov e538af5a44 VM: [GC] Array::MakeArray is racing with the sweeper.
Array::MakeArray can update tags and length of an array after tags were loaded by RawObject::Size() which leads to the inconsistency between size computed from these (stale) tags and SizeFromClass().

This race is benign in release mode and should only affect the assertion: if sweeper is using stale tags it will just think that a more memory is occupied by the array than it really occupies.

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

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2650543004 .
2017-01-30 12:04:24 +01:00
Sigmund Cherem 053e0ee720 Minor adjustments to patch files
The implementation of patching in analyzer checks that signatures are identical.
This is stricter than it needs to be, but the required fixes in dart:core are
pretty simple.

BUG=
R=hausner@google.com

Review-Url: https://codereview.chromium.org/2655223005 .
2017-01-27 14:24:06 -08:00
Regis Crelier 97f968de1c Implement generic function type syntax in the VM (fixes #27966).
The new function type syntax is allowed everywhere and not just in typedef.

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2643523002 .
2017-01-27 08:45:03 -08:00
Ryan Macnak 728f460798 Revert "Create an app snapshot of the Dart front end."
This reverts commit 8c7111c967.
This reverts commit 27c8e59d2e.

Review-Url: https://codereview.chromium.org/2657123002 .
2017-01-26 17:42:25 -08:00
Ryan Macnak 8c7111c967 Create an app snapshot of the Dart front end.
R=asiva@google.com, hausner@google.com, zra@google.com

Review-Url: https://codereview.chromium.org/2655173002 .
2017-01-26 16:28:59 -08:00
Ben Konyi 1e0bf05aaf Added tracking of memory usage within ApiNativeScopes. Usage to be displayed within Observatory.
BUG=
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2650583014 .
2017-01-26 15:24:03 -08:00