- Some DBC tests (regexp, field guards) was turned on inadvertantly
- Skip cc/Profiler_InliningIntervalBoundry on release builds
(need to figure how to handle the inlining difference between
debug/release builds)
BUG=
Review URL: https://codereview.chromium.org/2528793003 .
- Remove CheckConnect.
- Enable NODELAY.
- Add testSimpleReadWriteClose to hello_fuchsia_test.
Add stub implementation of OS::MaxRSS so Observatory can load without crashing the target VM.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2523133002 .
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 .
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 .
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 .
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 .
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 .
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 .
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 .