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 .
- [x] Bump maximum number of vm arguments (fixes a bunch of reload crashes....)
- [x] Only check that an isolate has reload if it was ever runnable.
- [x] Skip some isolate tests that use deferred libraries or are checking for closure identity.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2141763002 .
- [x] Start reloading even earlier.
- [x] Keep the value of FLAG_reload_every per-isolate (so spawned isolates reload eagerly too).
- [x] Adjust the reload every back off curve to be linear in the beginning.
- [x] Cap the reload every threshold at 1,000,000
- [x] Test status file updates.
- [x] Stop disabling the background compiler / OSR when running tests.
- [x] Skip multi tests with compilation errors when reloading.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2133823002 .
- Explicitly allow connections from localhost/127.0.0.1 and the server's ip address and host name.
- This has the negative effect of breaking our Dartium work flow, so, I've added the "--disable-service-origin-check" flag to the standalone embedder which disables the security check.
R=asiva@google.com
Review URL: https://codereview.chromium.org/2125343002 .
- [x] Add --hot-reload-test-mode to standalone embedder.
- [x] Have test.py pass `--hot-reload-test-mode` instead of specific flags.
- [x] Add --reload_every_back_off flag to control exponential backof off reloads.
- [x] Add --check_reloaded flag to ensure that an isolate has reloaded at least once before exiting.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/2118923002 .
- [x] The first caller of the tag handler blocks, recursive callers queue work and exit.
- [x] Use a NativeMessageHandler to receive I/O results from the service isolate.
- [x] Preserve load error message format.
- [x] Move packages map into service isolate.
- [x] Wire up Todd's native URI code.
R=turnidge@google.com
Review URL: https://codereview.chromium.org/1998963003 .
When gen_snapshot encounters a url that has been remapped with the --url_mapping command line argument it rewrites the library's url to be the mapped url before canonicalization. The new C++ API only does canonicalization with respect to the library's url (as returned by Dart_LibraryUrl) which is insufficient for gen_snapshot. The correct long-term fix is to alter the new C++ API to allow for the base url to be passed in directly rather than indirectly via Dart_LibraryUrl.
This CL just restores some deleted code and has gen_snapshot work like it did before. The standalone embedder still uses the C++ API during loading.
Review URL: https://codereview.chromium.org/2031103002 .
Adds Dart_DefaultCanonicalizeUrl() to the dart embedding api.
Motivation:
As we try to get source reloading working for the standalone embedder, things get simpler if an isolate doesn't run Dart code while it is loading Dart code. We intend to solve this by moving the embedder tag handler calls to the service isolate. But making a blocking rpc into the service isolate whenever a url needs to be canonicalized during parsing seems like it would slow things down and make things complicated. By moving canonicalization into C++, we avoid this.
R=ahe@google.com, fschneider@google.com, johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2011543002 .
These threads are polluting the exit code despite using the better
ExitProcess call. Instead of adding back Thread::Join, I've instead
inlined the call into the eventhandler to make it easier to be sure
the open handles are closed.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1989463003 .
Also:
- Reaps exited threads in the thread pool before putting
a thread on the idle list so that a new arriving task
isn't blocked on a supposedly idle thread in the middle
of a join.
- Stops trying to join eventhandler threads on
Windows. Now that we're using the correct exit() call,
we probably don't have to worry about exit code pollution,
so joining the threads is unnecessary.
related #26400R=asiva@google.com, iposva@google.com
Review URL: https://codereview.chromium.org/1978153002 .
The Mojo tree already DEPSes in boringssl into its //third_party. To
avoid DEPSing in two boringssl's, we need to look for the one there.
(The GN 'check' routine requires the sources to be found even if
noone depends on them.) Flutter will need to move its boringssl
DEPS from //dart/third_party/boringssl to //third_party/boringssl
to match.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1952383002 .