Commit Graph

10194 Commits

Author SHA1 Message Date
Florian Schneider daea7e69ca Revert "Fix use-after-free in isolate reload."
This reverts commit 16e577741d.

TBR=johnmccutchan@google.com,

BUG=

Review URL: https://codereview.chromium.org/2162113002 .
2016-07-19 10:44:58 -07:00
Carlo Bernaschina addbf1ea99 Avoid to run Observatory UI tests on DRT
TBR=rmacnak@google.com

Review URL: https://codereview.chromium.org/2160313002 .
2016-07-19 10:33:07 -07:00
Florian Schneider 16e577741d Fix use-after-free in isolate reload.
The reload context may still be used if an error is reported.

BUG=#26895
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2159923003 .
2016-07-19 10:25:02 -07:00
Ryan Macnak e94012cd24 Fix crash looking at a Code object in an AOT program with the service protocol.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2157223002 .
2016-07-19 09:48:12 -07:00
Carlo Bernaschina 250f2a92a4 Converted Observatory view-footer element
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2154413002 .
2016-07-19 09:43:21 -07:00
Florian Schneider 37dbf25f13 VM: Mark loads from final captured locals immutable.
This enables load elimination across calls for these locals.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2160613004 .
2016-07-18 13:32:51 -07:00
Carlo Bernaschina 3ebcc9fdd5 Added custom tags helper classes to the Observatory
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2154343002 .
2016-07-18 11:08:32 -07:00
John McCutchan b6e17330ed Fix DevFS on Android devices
- [x] Allow a system temporary directory to be set on Android.
- [x] This is set on Flutter's engine startup path which fixes DevFS on Android devices.

Related to https://github.com/dart-lang/sdk/issues/4413

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2156243002 .
2016-07-18 10:45:53 -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 b30da81483 Fuchsia: Hello, Fuchsia!
R=asiva@google.com

Review URL: https://codereview.chromium.org/2158673002 .
2016-07-18 10:35:03 -07:00
Lars Bak d59f3eaeca Added negative is check support ot simpleInstanceOf.
BUG=
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2153013002 .
2016-07-18 09:20:33 -07:00
John McCutchan 1ff0f72158 Fix DevFS writes with subdirectories
- [x] Add a test case for multiple level directory DevFS write

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2157013002 .
2016-07-18 08:58:40 -07:00
John McCutchan 7fa9393105 Remove windows debug print and trace shutdown on some tests
BUG=

Review URL: https://codereview.chromium.org/2153813003 .
2016-07-15 14:53:54 -07:00
John McCutchan 4bfdaa83b2 Fix Windows bots
BUG=

Review URL: https://codereview.chromium.org/2149193004 .
2016-07-15 14:34:29 -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
John McCutchan 1001db57c7 Attempt to trace Windows native extension tests
BUG=

Review URL: https://codereview.chromium.org/2147153006 .
2016-07-15 14:14:26 -07:00
John McCutchan 56d031874f Put a NoOOBMessageScope everywhere we have a NoReloadScope. This is an attempt at fixing the developer_extension_test flake.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2158563002 .
2016-07-15 13:41:53 -07:00
Zachary Anderson cf5eca5416 Fuchsia: Fixes for Debug build
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2154713004 .
2016-07-15 13:14:32 -07:00
John McCutchan 7af8d6e5a4 Strip the scheme off of uris passed into the native extension loader.
Fixes https://github.com/dart-lang/sdk/issues/26894

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2153203002 .
2016-07-15 13:09:33 -07:00
Ryan Macnak d28744b8d2 Both the mutator and the background compiler may be waiting on the sweeper task.
BUG=http://dartbug.com/26891
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2153763004 .
2016-07-15 12:12:44 -07:00
John McCutchan 0e550aed71 Do not reload isolates if we are in the process of shutting down the VM
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2151253003 .
2016-07-15 11:17:59 -07:00
John McCutchan c692a64e5a Rework how enums are implemented and reloaded
- Enum instances now hold their index and their label. Before the labels were held in a static array to the side and the index was used to look up the label.

- Before and after reload enum instances are now paired (by label) and put into the 'become' table.

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

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2153143002 .
2016-07-15 10:52:20 -07:00
Ryan Macnak 8321337e07 More ifndef PRODUCT.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2154803002 .
2016-07-15 10:16:35 -07:00
Florian Schneider d3810213b0 VM: Array bounds checks that don't deoptimize for precompiled code.
1. Make CheckArrayBoundInstr also check the index for smi. This allows easy replacement
of the deoptimizing checks with the slow-path checks in the precompiler.

2. Add GenericCheckBoundInstr which has a slow-path attached for
handling check failures.

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

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

Committed: https://github.com/dart-lang/sdk/commit/4a5f651c4b2202013ab7c3db887fd95e2597e173
2016-07-15 10:07:41 -07:00
Siva Annamalai 06a3687ec3 More #ifndef PRODUCT changes.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2156443002 .
2016-07-14 18:27:55 -07:00
Siva Annamalai e0164a0ceb More guarding of code under #ifndef PRODUCT ... #endif
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2147363002 .
2016-07-14 17:44:24 -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
Ryan Macnak 2d9087648d More ifndef PRODUCT.
R=asiva@google.com

Review URL: https://codereview.chromium.org/2153593002 .
2016-07-14 15:30:32 -07:00
Zachary Anderson 0fae540223 Add runtime/bin/thread_fuchsia that binds to fuchsia's pthreads
Fuchsia provides pthreads so the linux implementation almost works
except that fuchsia does not (currently) provide the clock_gettime clock
for CLOCK_THREAD_CPUTIME_ID.

Review URL: https://codereview.chromium.org/2154453002 .
2016-07-14 15:25:01 -07:00
Zachary Anderson e27b49fc80 [fuchsia] GN build support for Fuchsia OS and fuchsia_test target
This adds a GN target for the 'fuchsia_test' executable and teaches
the GN build about is_fuchsia. Key differences:

*) There's not currently a dart:io implementation for Fuchsia
*) Fuchsia's toolchain currently doesn't support (or need) ldl or lpthread
*) Fuchsia's buildconfig doesn't currently set the is_asan variable

Review URL: https://codereview.chromium.org/2149953003 .
2016-07-14 15:01:30 -07:00
Zachary Anderson 8ccb85e38e [fuchsia] Update to new spelling of magenta syscalls
These now have an mx_ prefix instead of a _magenta prefix as of
https://fuchsia.googlesource.com/magenta/+/937bde71d2

R=zra@google.com

Review URL: https://codereview.chromium.org/2154443002 .
2016-07-14 14:31:07 -07:00
Ryan Macnak 69be2c8b57 Implement rebinding super calls after hot reload.
BUG=http://dartbug.com/26884
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2147293002 .
2016-07-14 14:20:44 -07:00
Lars Bak df4eb11184 Fixed the AOT compiler to understand the simpleInstanceOf.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2152693004 .
2016-07-14 13:38:36 -07:00
Ryan Macnak 2a535414bc Revert "VM: Array bounds checks that don't deoptimize for precompiled code."
This reverts commit 4a5f651c4b.

Review URL: https://codereview.chromium.org/2152683003 .
2016-07-14 13:28:23 -07:00
Zachary Anderson 87e1fc7859 Add #! lines and +x scripts run by the build system
Landing https://codereview.chromium.org/2151053002/ for jamesr.

Review URL: https://codereview.chromium.org/2152913002 .
2016-07-14 12:46:57 -07:00
Siva Annamalai aaa0867567 More changes to use #ifndef PRODUCT ... #endif explicitly instead of relying on compiler magic.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2146713004 .
2016-07-14 11:13:13 -07:00
Lars Bak 21a3a27aff Made simple instance-of checks fast for unoptimized code.
This change makes dart2js 15% faster when compiling 60KLOC. 15sec -> 13sec.

BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org/2147123002 .
2016-07-14 11:11:17 -07:00
Regis Crelier 1d50171a9b Remove now redundant check after an earlier cl added a tighter check.
R=asiva@google.com

Review URL: https://codereview.chromium.org/2153453002 .
2016-07-14 10:57:32 -07:00
Florian Schneider 4a5f651c4b VM: Array bounds checks that don't deoptimize for precompiled code.
1. Make CheckArrayBoundInstr also check the index for smi. This allows easy replacement
of the deoptimizing checks with the slow-path checks in the precompiler.

2. Add GenericCheckBoundInstr which has a slow-path attached for
handling check failures.

BUG=
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2149023002 .
2016-07-14 10:48:50 -07:00
Todd Turnidge 77b99396e8 Disallow deferred loading when using isolate reloading.
Update status files.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2144113002 .
2016-07-13 15:25:06 -07:00
John McCutchan 05c1eac65d Support loading dart-ext from within a package when using a package map
Fixes https://github.com/dart-lang/sdk/issues/26879

When a dart-ext is imported from within a package: library we need to fully resolve the package: to a file: (or whatever scheme:) so that we can locate the shared object for the extension file.

This CL sends this request through the service isolate so that the package: can be resolved even when a package config is being used.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2146093002 .
2016-07-13 15:20:13 -07:00
Ryan Macnak d75da67de1 Remove failing assert in Function::ClearCode.
Caching JIT snapshots may include functions with a zeroed usage counter that still have type feedback, e.g. due to code collection.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2146063004 .
2016-07-13 14:43:44 -07:00
Ryan Macnak 0aea34396b Remove NoSafepointScope from Dart_IsolateData(Dart_Isolate).
May be called from a thread the VM doesn't know about. (In Flutter, the
Mojo handle watcher.)

R=asiva@google.com

Review URL: https://codereview.chromium.org/2148003002 .
2016-07-13 14:42:08 -07:00
Ryan Macnak 8951c33878 Fix clearing compile time constant caches during tree shaking.
The old code was rendered ineffective by the move from per-isolate to per-script caches.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2141263003 .
2016-07-13 11:06:41 -07:00
Zachary Anderson e5102940b3 Fix 'all' target
Review URL: https://codereview.chromium.org/2151493003 .
2016-07-13 10:22:38 -07:00
Florian Schneider 11319af5a4 Add missing Loader::InitOnce to gen_snapshot
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2148913002 .
2016-07-13 10:14:56 -07:00
Florian Schneider 63e3f4dc8b Make loader lock new-allocated to avoid shutdown crash.
Process::Exit does not do the normal shutdown procedure - this CL avoids
a crash in the static destructor of the loader info lock by making it
new-allocated.

Also remove --shutdown flag since the clean shutdown procedure is on by
default since a while now.

BUG=#26846
R=asiva@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2147833002 .
2016-07-13 09:41:06 -07:00
Ryan Macnak c8de75d899 Remove dead FLAG_verbose_dev.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2144643003 .
2016-07-13 09:21:07 -07:00
Zachary Anderson 64e9017629 Fuchsia: Platform specific calls needed to Initialize and Cleanup VM.
fuchsia_test now succeeds.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2148533002 .
2016-07-13 09:12:28 -07:00
John McCutchan 2cb555c7dd Have --print-metrics use stderr to work around issue with analyzer_cli
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2148613002 .
2016-07-13 08:52:53 -07:00