- uses thread execution status transition to track when a thread is in a safepoint or needs to block for a safepoint
- introduces a monitor per Thread object
- uses a per thread safepoint handshake between the thread requesting a safepoint and the requested thread.
The ThreadRegistry class now contains only the thread list for an isolate and the functionality of scheduling a thread onto an Isolate and unscheduling it from teh isolate. We could fold this functionality into the Isolate class in a different CL.
R=rmacnak@google.com, zra@google.com
Review URL: https://codereview.chromium.org/1541073002 .
We shouldn't need to execute the code pages until after we're done
writing to them, so we can drop the initial execute bit. Without
this, part of a mapping can sit in a freelist with RWX permissions
indefinitely, which makes for an easier target under certain
exploits.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org/1635343002 .
This is the first step toward removing blocking IO calls from
the implementation of the SecurityContext API.
Using a buffer rather than a file name API will probably be needed
for implementing SecurityContext and SecureSocket with platform
specific built-in APIs on iOS/Mac/Windows rather than BoringSSL.
related #8227R=whesse@google.com
Review URL: https://codereview.chromium.org/1616073004 .
- Cleanups to the embedder's Dart sources for the service isolate. This lets us stop keeping a local copy in the mojo and flutter trees.
- Let the VM know Observatory's server address.
R=zra@google.com
Review URL: https://codereview.chromium.org/1640773005 .
This bug was causing it to be impossible to single-step to locations
which had deleted breakpoints.
In fixing this problem, another issue was exposed, where, if we single
step while at a breakpoint, we would hit the same pc twice in the
debugger. I have added a "skip step" mechanism which allows us to
skip the next single-step after a breakpoint.
Added a test.
Closes#25465R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1641793002 .
The VM now reports the location of the mixin application as well as
the location of the illegal constructor in the mixin class.
Update test language/mixin_illegal_constructor_test to follow the spec.
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1638923002 .
- When an isolate is paused at exit and has a sticky error, have the debugger display the error.
- Add --pause-isolates-on-unhandled-exceptions flag which sets a default value for break-on-exception.
- Have the debugger display help text about 'set break-on-exception' and '--pause-isolates-on-unhandled-exceptions'
- Signal an unhandled exception even if no client is connected to Observatory.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1636083002 .
They were used as the class of closure instances and as the type class of
function types.
All closure instances now have class _Closure and function types are represented
by a new class FunctionType extending AbstractType.
Fix issue 24567 and add regression test.
R=asiva@google.com, rmacnak@google.com
Review URL: https://codereview.chromium.org/1584223006 .
- Rework token position address space.
- Use ClassifyingTokenPositions::kMethodExtractor for the token position of a method extractor.
- Plumb token positions through all of Ast Transformer.
- Plumb token positions for temporary expressions, etc in Flow Graph Builder.
- Add token positions for parts of the await machinery.
- Move ClassifyingTokenPositions into token.h.
- Remove default token position of Scanner::kNoSourcePos for many IR instructions.
- A couple of unit tests.
- Use synthetic token positions for synthetic AstNodes.
- Fix SLEB128 encoding / decoding + test
- s/Scanner::kNoSourcePos/Token::kNoSourcePos.
- Remove >= 0 and < 0 checks against token positions and use helpers instead.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1589643002 .