Commit Graph

426 Commits

Author SHA1 Message Date
Zachary Anderson a6c686234c DBC: Adds DecodeLoadObjectFromPoolOrThread, enables tests
R=vegorov@google.com

Review URL: https://codereview.chromium.org/1961953003 .
2016-05-09 12:52:36 -07:00
Zachary Anderson 924214d695 Enable code object tests for DBC
R=vegorov@google.com

Review URL: https://codereview.chromium.org/1955473002 .
2016-05-05 13:49:33 -07:00
Zachary Anderson db86be4901 Fixes and enables FindCodeObject test for dbc
DBC always encodes branches similarly to arm64's far branches. In
particular, the unconditional jump takes a signed 26-bit offset.
This CL just modifies the test to generate enough code to test that
dbc can handle branches the same distance as the other platforms.

R=iposva@google.com

Review URL: https://codereview.chromium.org/1919283003 .
2016-04-26 10:40:28 -07:00
Zachary Anderson 3d7202bad3 DBC: Adds simdbc64 target, adds arm64 arithmetic overflow logic
There were differences between linux gcc, android gcc,
MacOS clang, and 32 vs. 64-bit w.r.t the __builtin
functions for detecting arithmetic overflow. I couldn't get
them all working at the same time. Instead, I removed them,
and changed to always use the inline assembly. This works
in all the configurations above.

This change also adds a simdbc64 target for building simdbc
for 64-bit, and sets up the android targets. simdbc targets
arm, and simdbc64 targets arm64. You can build them with:

$ ./tools/build.py -m release -a simdbc{64} --os=android runtime

R=iposva@google.com

Review URL: https://codereview.chromium.org/1904153003 .
2016-04-25 12:48:34 -07:00
Vyacheslav Egorov ee0f608ce4 Dart Byte Code interpreter.
This version is Clang/GCC only and does not support Windows because it uses computed goto's.

Only unoptimized mode is supported.

Architecture is described in constants_dbc.h and stack_frame_dbc.h.

R=fschneider@google.com, zra@google.com

Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
Siva Annamalai 8364da0e1b Adjust status files for product mode to skip tests that require checked mode as we do not support the flags --enable_asserts and --enable_type_checks in product mode.
tools/test.py -mproduct -cdart2app -rdart_product

should run clean after this CL

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1817623003 .
2016-03-21 11:09:38 -07:00
Sigmund Cherem 76a77d8b42 Skip tests in cpsir+checked mode until it is implemented
TBR=sra@google.com

Review URL: https://codereview.chromium.org/1780843002 .
2016-03-09 17:21:49 -08:00
Ryan Macnak 46fea6cfb2 Update status file for some passing tests on MIPS and ARM.
R=regis@google.com

Review URL: https://codereview.chromium.org/1774613002 .
2016-03-07 12:17:27 -08:00
Sigmund Cherem 385f3350c5 Update status of cpsir tests in checked mode: skipping for now, since more than
75% fail for one reason, once we fix that we can triage in more detail.

Review URL: https://codereview.chromium.org/1771893002 .
2016-03-07 10:20:41 -08:00
Ryan Macnak 167616b83e Skip mirror tests more generally for $mode == product instead of $runtime == dart_product.
Reduces failures in tools/test.py -mproduct.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1760043002 .
2016-03-03 10:06:59 -08:00
Srdjan Mitrovic b3405d5ebc Add --no-background-compilation to tests that expect to run code in optimized form
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1759973002 .
2016-03-02 16:30:58 -08:00
Ryan Macnak ad01f0fb41 Don't expand inline frames in stacktraces under noopt to match full precompiled behavior.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1748793002 .
2016-02-29 13:28:09 -08:00
William Hesse 47b2253866 Update status for VM crash on address sanitizer (asan) bot.
BUG=
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1739023003 .
2016-02-26 00:53:25 +01:00
Siva Annamalai 5c53e14d55 - Skip tests which use dart:mirrors in product mode
Review URL: https://codereview.chromium.org/1728663002 .
2016-02-24 18:13:20 -08:00
Siva Annamalai 809c205cae - Fix --run-fullsnapshot flag processing issue in non product mode.
- Adjust status files for product mode issues (Process.run, SpawnUri,
  test expecting line numbers)

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1720193002 .
2016-02-22 15:33:34 -08:00
Ivan Posva c822c34af6 - Add DEBUG_ONLY and NOT_IN_PRODUCT macros.
- Remove user_name_ field from RawClass using macros.
- Consolidate "#ifndef PRODUCT" and "#ifdef DEBUG" code using macros.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1715123003 .
2016-02-19 17:48:08 -08:00
Zachary Anderson 80f358dede Adds targets for simarmv6 and armv6
related #25562

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1624593002 .
2016-01-22 13:07:48 -08:00
Ivan Posva 4f54e6aee5 - Add support for passing data: based URIs as packageConfig to
Isolate.spawnUri.
- Loosen the expected mimeType and encoding for data: URI based
  file loading.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1585103006 .
2016-01-15 17:01:58 -08:00
Zachary Anderson ebbd05a8b2 Marks spawn_shutdown_test Pass, Slow for debug builds.
The test is timing out on the Debug windows bot, but always finishes for
me locally even under load. If it continues to timeout even when marked
Slow, I will investigate more locally.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1585733002 .
2016-01-13 10:38:39 -08:00
Ryan Macnak 80702cb272 Fall back to inlining intervals to generate stack traces in --noopt. Inlined frames will lack line and column positions, but they will at least be expanded.
Fix stack traces when visible functions are inlined into an invisible function.

Fix off-by-one expanding inlined functions in the profiler.

BUG=http://dartbug.com/24783
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1582683003 .
2016-01-12 16:45:00 -08:00
Zachary Anderson 1ce512b69f Fix Shutdown race.
This CL fixes a race during VM shutdown in which the embedder's
isolate creation callback is passed an invalid isolate data pointer.

BUG=http://dartbug.org/25351
R=asiva@google.com

Review URL: https://codereview.chromium.org/1560853002 .
2016-01-08 12:30:57 -08:00
Zachary Anderson dcb021c5d9 Disable spawn shutdown test
related #25351

R=asiva@google.com

Review URL: https://codereview.chromium.org/1558323002 .
2016-01-05 18:13:21 -08:00
Ryan Macnak 6b964b83ac Add ./tools/test.py -c precompiler -r dart_precompiled.
- Make --gen/run-precompiled-snapshot take a directory to use for the snapshot pieces.
 - Throw on Platform.executeable to prevent tests from becoming fork-bombs.
 - Update status files so 'dart_precompiled' is generally expected to behave the same as 'vm'.

Currently multitests will fail unless run with --jobs=1 because the test harness assigns them the same temporary directory.

Running this also requires a great deal of space. My out directory is 380G.

BUG=http://dartbug.com/24975
R=fschneider@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org/1507943002 .
2015-12-18 12:08:10 -08:00
William Hesse 6485590527 Remove old java-based analyzer from test scripts and status files
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1537653002 .
2015-12-17 14:44:57 +01:00
Ryan Macnak 3e7212e194 Reapply "Precompilation/x64: Load float vector constants via Thread."
Fix unbalanced Enter/LeaveTestFrame in TestObjectCompare. Crashed on release + clang with the original change, and was failing on ASAN before that.

BUG=http://dartbug.com/24450
BUG=http://dartbug.com/25002
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1499763002 .
2015-12-04 09:46:21 -08:00
Ryan Macnak 6fc5018282 Standalone: Use new support in dart:core for decoding data uris.
R=iposva@google.com

Review URL: https://codereview.chromium.org/1489603002 .
2015-12-01 13:46:20 -08:00
Todd Turnidge bd2b840be0 Revert my recent changes to the Dartium test status files.
We have restored blocking isolate spawning under a flag.

--------

Revert "Update test status files.  Issue #24990."

This reverts commit 05bf1d6bb6.

Revert "Skip isolate spawning tests on Dartium."

This reverts commit c6c6f121ed.

BUG=

Review URL: https://codereview.chromium.org/1472783004 .
2015-11-23 15:15:55 -08:00
Florian Schneider 367022b486 Update status of two flaky VM tests to make bots greener until issue is fixed.
These are expected to crash in debug mode, but time out frequently on Windows.

TBR=zra@google.com
BUG=#24596

Review URL: https://codereview.chromium.org/1470903002 .
2015-11-23 13:32:18 +01:00
Todd Turnidge c6c6f121ed Skip isolate spawning tests on Dartium.
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/1455233007 .
2015-11-20 11:10:17 -08:00
Siva Annamalai f0ad800700 Fix architecture.
Review URL: https://codereview.chromium.org/1459913003 .
2015-11-19 17:13:11 -08:00
Siva Annamalai 59ddaa02f7 Update status file to indicate failure in vm/cc/TestObjectCompare under asan
(Issue https://github.com/dart-lang/sdk/issues/25002 has been filed to investigate this)

Review URL: https://codereview.chromium.org/1462253003 .
2015-11-19 16:58:17 -08:00
Todd Turnidge 71b3d5aba8 Start isolates in a separate thread.
R=asiva@google.com

Review URL: https://codereview.chromium.org/1447353002 .
2015-11-18 11:02:32 -08:00
Srdjan Mitrovic 6f73461202 Making bots greener
BUG=

Review URL: https://codereview.chromium.org/1441743004 .
2015-11-13 09:40:05 -08:00
John McCutchan ceb12c4f69 Switch profiler from isolates to threads
- API breakage: Dart_IsolateBlocked, Dart_IsolateUnblocked -> Dart_ThreadDisableProfiling, Dart_ThreadEnableProfiling.
- Remove IsolateProfilerData.
- Move thread at blocking call count from isolate to thread.
- Always interrupt threads unless they are blocked.
- We can no longer count "idle" ticks.
- Only record sample if thread is the current mutator of an isolate.
- Refactor ThreadInterrupterCallback to ensure that Thread* is valid.

Threads are only ever sent signals if ThreadInterruptsEnabled is true. Which is controlled by two functions:

void DisableThreadInterrupts();
void EnableThreadInterrupts();

R=asiva@google.com, iposva@google.com

Review URL: https://codereview.chromium.org/1423473004 .
2015-11-04 07:59:16 -08:00
William Hesse cc4a5d2e7c Revert "Switch profiler from isolates to threads"
Reverts commit 6365c27f81 and
commit 8b9ed6cfb3.

They are causing flaky timeouts (hangs) on all vm cc tests on all Windows vm bots.

R=mit@google.com

Review URL: https://codereview.chromium.org/1425093006 .
2015-11-03 10:42:55 +01:00
John McCutchan 6365c27f81 Switch profiler from isolates to threads
- API breakage: Dart_IsolateBlocked, Dart_IsolateUnblocked -> Dart_ThreadDisableProfiling, Dart_ThreadEnableProfiling.
- Remove IsolateProfilerData.
- Move thread at blocking call count from isolate to thread.
- Always interrupt threads unless they are blocked.
- We can no longer count "idle" ticks.
- Only record sample if thread is the current mutator of an isolate.
- Refactor ThreadInterrupterCallback to ensure that Thread* is valid.

Threads are only ever sent signals if ThreadInterruptsEnabled is true. Which is controlled by two functions:

void DisableThreadInterrupts();
void EnableThreadInterrupts();

R=asiva@google.com, iposva@google.com

Review URL: https://codereview.chromium.org/1412733008 .
2015-11-02 12:47:52 -08:00
Florian Schneider dde638f7db Mark tests failing with --noopt in the status files.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1415823004 .
2015-10-31 01:45:50 +01:00
John McCutchan b83e5a718e Fix ThreadIterator_AddFindRemove test
- A pointer test was unsafe because the allocator could recycle the address for a new thread.

Fixes #24692

R=asiva@google.com

Review URL: https://codereview.chromium.org/1425463004 .
2015-10-26 11:07:16 -07:00
Florian Loitsch 45ace33f47 Mark ThreadIterator_AddFindRemove test as flaky.
Review URL: https://codereview.chromium.org/1409733003 .
2015-10-22 21:55:25 +02:00
Ryan Macnak 371a5dc932 Get tools/test.py --noopt green.
More specifically ./tools/test.py --noopt -mall -ax64,simarm,simarm64,simmips --exclude-suite=pkg

 - Add missing dart:io entry point.
 - Add checks that Dart_FinalizeLoading, Dart_Precompile, Dart_CreatePrecompiledSnapshot are called in order.
 - Add checks for --precompilation flag.
 - Add checks for dropped class in Dart_New/Allocate/AllocateWithNativeFields.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1407393005 .
2015-10-21 10:35:01 -07:00
John McCutchan 1ec9d78b89 Call known TLS destructors on Windows
Partially fixes #23474 by freeing the MonitorWaitData and Thread objects on Windows when a thread exits.

Machinery to run a function at thread exit on Windows taken from Chromium's base.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1391013006 .
2015-10-14 07:59:33 -07:00
John McCutchan 80522629b3 Skip cc/ThreadIterator_AddFindRemove on Windows
BUG=

Review URL: https://codereview.chromium.org/1401403003 .
2015-10-13 13:20:43 -07:00
Matthias Hausner 4065107086 Disable compiler stats tests on Windows
... until we find out why they crash on that platform.

BUG=

Review URL: https://codereview.chromium.org//1351683005 .
2015-09-16 15:47:30 -07:00
Zachary Anderson 7093f2996b VM thread shutdown.
BUG=
R=iposva@google.com, turnidge@google.com

Review URL: https://codereview.chromium.org//1275353005 .
2015-09-15 12:49:52 -07:00
Daniel Andersson 00ef260503 Enable concurrent optimization test after migrating scopes to Thread*
Also move static call target table allocation into old space.

Note that stats are not thread-safe, so running two compilers concurrently may lead to inaccurate stats.

BUG=https://github.com/dart-lang/sdk/issues/24109

Review URL: https://codereview.chromium.org//1291803009 .
2015-08-19 15:16:47 -07:00
Daniel Andersson b96076eba4 Test running compiler on a helper thread with mutator paused.
This test currently fails on new-space allocation, etc., and is meant to be used as a milestone in TDD towards a fully concurrent optimizing compiler.

(This is analogous to https://codereview.chromium.org/1289153002/
which does pass.)

BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org//1297663003 .
2015-08-17 13:27:57 -07:00
Daniel Andersson e7fb1c8516 Compatible atomics: volatile for LoadRelaxed, replace FetchAndAdd with FetchAndDecrement.
Using volatile on a word size location will generate a single move instruction without order guarantees and is supported on all compilers.

Replace FetchAndAdd with FetchAndDecrement, since the latter is sufficient and eaiser to implement portably (in particular on some Windows setups).

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

Review URL: https://codereview.chromium.org//1287853005 .
2015-08-13 09:21:38 -07:00
Daniel Andersson 902c00a789 Actually skip StackLimitInterrupts.
BUG=https://github.com/dart-lang/sdk/issues/24049
R=iposva@google.com

Review URL: https://codereview.chromium.org//1286823002 .
2015-08-11 14:42:30 -07:00
Daniel Andersson 093f654bf7 Disable vm/cc/StackLimitInterrupts due to issue 24049.
BUG=

Review URL: https://codereview.chromium.org//1291503002 .
2015-08-11 14:18:31 -07:00
Zachary Anderson d4d89d6f12 Reverts VM thread cleanup
BUG=

Review URL: https://codereview.chromium.org//1275853008 .
2015-08-07 19:10:31 -07:00