Commit Graph

904 Commits

Author SHA1 Message Date
Zachary Anderson 14233482d9 Fuchsia: Partial implementation of dart:io sockets
This changes the eventhandler to epoll and adds some code for sockets
to runtime/bin/sockets_fuchsia.cc. It also adds some simple tests
to hello_fuchsia.dart.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2515643004 .
2016-11-20 22:04:14 -08:00
John McCutchan f0f32a0e29 Map deleted enum values to a sentinel value.
Fixes #27802

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

Review URL: https://codereview.chromium.org/2498863002 .
2016-11-15 14:15:36 -08:00
Zachary Anderson a64272b912 DBC: Fix checked mode stack traces
fixes #27732

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2493353002 .
2016-11-11 21:39:47 -08:00
Siva Annamalai 84ad096687 - Turn on canonicalization verification after a reload in debug mode.
- Rehash the canonical constants table for all new classes, this fixes
  numerous issues found with the canonical verification
  also fixes https://github.com/dart-lang/sdk/issues/26868
- Added issue https://github.com/dart-lang/sdk/issues/27803 and
  https://github.com/dart-lang/sdk/issues/27802 for remaining bugs.

BUG=#26868
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2490233004 .
2016-11-10 16:13:33 -08:00
Ryan Macnak d8bb15f915 Mark failing DBC tests.
Issue #27731
Issue #27732
Issue #27733

R=zra@google.com

Review URL: https://codereview.chromium.org/2465253007 .
2016-11-02 15:28:57 -07:00
William Hesse 61eee9ee52 Use checked-in .package file for building and testing
Stop creating [build dir]/packages directory with symbolic links.

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

Committed: https://github.com/dart-lang/sdk/commit/5d3e356ca75be8aeff3efde5df946d746b9f8352

Review URL: https://codereview.chromium.org/1746743002 .

Reverted: https://github.com/dart-lang/sdk/commit/6d238ba197c8bda71afe790f16f6e9adaf7abd13
2016-09-16 15:03:18 +02:00
John McCutchan 268082769b Initial status file updates for $hot_reload_rollback
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2207653002 .
2016-08-02 11:03:44 -07:00
Ryan Macnak 585c476973 DBC: Add single stepping check to fast Smi ops.
Issue #26405

R=zra@google.com

Review URL: https://codereview.chromium.org/2189253002 .
2016-07-29 10:03:31 -07:00
Ryan Macnak f6a320b973 DBC: Implement coverage by adding missing count increments to unoptimized static and instance calls.
These counts also factor into inlining decisions.

R=zra@google.com

Review URL: https://codereview.chromium.org/2187423002 .
2016-07-28 16:43:47 -07:00
Ryan Macnak 3dba3a77c1 DBC: Fix not-stopping/crashing at fast Smi op breakpoints.
When setting a breakpoint at a fast Smi op, replace the fast Smi op instruction with a Nop so we don't skip the following DebugBreak in the Smi case and don't attempt to increment an ICData counter through pool slot 0.

R=zra@google.com

Review URL: https://codereview.chromium.org/2194493002 .
2016-07-28 13:41:22 -07:00
Ryan Macnak 708334c614 DBC: Fix reading locals out of a deopt frame.
R=zra@google.com

Review URL: https://codereview.chromium.org/2176413003 .
2016-07-26 10:36:07 -07:00
Zachary Anderson 53374c3b99 Fuchsia: Build standalone VM. Make it run "Hello, World!".
This CL adds targets to the GN build that build the standalone Dart VM
without the observatory, and with dart:io enabled but with most of the
functionality stubbed out as UNIMPLEMENTED(). It also adds a simple
eventhandler for Fuchsia for implementing Timers.

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

Review URL: https://codereview.chromium.org/2168193002 .
2016-07-22 14:00:31 -07:00
Zachary Anderson 2c6449087d DBC: Misc double instructions
- DoubleToSmi
- MathUnary
- MathMinMax

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2162173002 .
2016-07-20 09:46:32 -07:00
Zachary Anderson 43e89ccdd3 DBC: Make unoptimized static calls call through ICData
Isolate reloading works by manipulating ICData. Unoptimized
static calls won't go to the new function after a reload unless
the calls go through the ICData.

R=vegorov@google.com

Review URL: https://codereview.chromium.org/2149993006 .
2016-07-18 10:39:09 -07:00
Zachary Anderson b43b9bad86 DBC: UnboxedConstantInstr
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2150933008 .
2016-07-15 14:25:40 -07:00
Zachary Anderson fe2b7b35c4 DBC: Enables unboxed doubles
This CL enables unboxed doubles for simdbc64. Unboxed
doubles are stored in regular dbc registers, which are
really 64-bit stack slots. It also implements binary
and unary double operations and comparisons.

R=vegorov@google.com

Review URL: https://codereview.chromium.org/2120703002 .
2016-07-14 16:05:20 -07:00
John McCutchan 04dc67e2b3 More hot reload status file updates
BUG=

Review URL: https://codereview.chromium.org/2143213002 .
2016-07-12 13:54:16 -07:00
Zachary Anderson fcf4578c03 Remove STL use from platform/assert.cc
R=asiva@google.com

Review URL: https://codereview.chromium.org/2085703002 .
2016-06-21 12:50:43 -07:00
Ryan Macnak 4c5e9421ff Skip byte_array_test on precompilation.
Review URL: https://codereview.chromium.org/2086693002 .
2016-06-20 15:10:55 -07:00
Zachary Anderson 6e90ca4e0a DBC: Eager deoptimization and CheckSmi instruction.
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2039913006 .
2016-06-09 09:47:56 -07:00
Zachary Anderson 7cd20ac709 Fix status file for asan test no longer crashing
related #26487

Review URL: https://codereview.chromium.org/2037753003 .
2016-06-03 08:50:53 -07:00
Ryan Macnak ef8baa8760 Add test harness option for app snapshots with unoptimized code.
./tools/test.py -m all -c dart2appjit -r dart_app --use-blobs

Rename 'dart_product' runtime to 'dart_app'.

Rename Dart_PrecompiledJITSnapshotBlob to Dart_CreateAppJITSnapshot and add documentation.

Remove out-of-date scripts in tools/precompilation.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1992703005 .
2016-05-26 10:37:47 -07:00
Florian Schneider 374baf4979 Remove timeout status for some tests to check if they pass now.
BUG=#24596
R=zra@google.com

Review URL: https://codereview.chromium.org/2015533002 .
2016-05-25 17:35:05 +02:00
Vyacheslav Egorov 655bc90489 Enable optimizer pipeline for DBC.
Most of the infrastructure is fixed to work with DBC stack layout:

- register allocator allocates DBC registers with the limitation that we allocate only 20 registers and bail out if anything needs spilling (there is no use implementing spilling on DBC because registers are memory locations themselves). We should be able to bump number of CPU registers on DBC up to 256 but this requires major surgery in some parts - so I postponed this;
- lazy deoptimization is implemented, eager deoptimization is not - because we don't emit any code that actually requires it. it's a minor change to support it once we have a target;
- stack scanning respects stack maps built by registers allocator;

We bailout from all unsupported instructions.

R=zra@google.com

Review URL: https://codereview.chromium.org/1992963002 .
2016-05-24 14:35:50 +02:00
Ryan Macnak fa1a40c4ee Dart2JSCompilerStats also failing on ia32 asan.
Review URL: https://codereview.chromium.org/1993073002 .
2016-05-18 16:32:44 -07:00
Ryan Macnak 30a7308dbe Mark vm/cc/Dart2JSCompileAll as failing on ia32 asan.
BUG=http://dartbug.com/26487
R=hausner@google.com

Review URL: https://codereview.chromium.org/1996483002 .
2016-05-18 15:36:19 -07:00
Ryan Macnak 7d3cd143f7 Update status for
./tools/test.py -mall
  ./tools/test.py -mdebug,release --checked
  ./tools/test.py -mrelease,product -cdart2app -rdart_product
  ./tools/test.py -mrelease --checked -cdart2app -rdart_product

Missing
  ./tools/test.py -mdebug -cdart2app -rdart_product
  ./tools/test.py -mdebug --checked -cdart2app -rdart_product

R=asiva@google.com

Review URL: https://codereview.chromium.org/1991543002 .
2016-05-18 12:54:34 -07:00
John McCutchan 48c8ffa7f3 Initial isolate reload support
This is a cut of the work that Todd and I collaborated on in the reload branch.

In this CL, we've dropped the loader port hacks, in other words, on stack reloading in the standalone embedder does not work yet.

- [x] Support for hot reloading of isolate source code
- [x] Unit test harness and many tests
- [x] Service protocol and Observatory support
- [x] Product build does not include support for hot reloading.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1965823002 .
2016-05-17 12:19:06 -07:00
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