summaryrefslogtreecommitdiff
path: root/deps/v8/src/debug/debug.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-09-04 21:24:34 +0200
committerMichaël Zasso <targos@protonmail.com>2018-09-07 21:07:19 +0200
commita3f258c7693fd76fc26edc8c9d5b67f260eb755d (patch)
treeb6ac7b5bf2d32efc4c213b1e19bd400df8f0a6e2 /deps/v8/src/debug/debug.h
parentfc1770b0d1a5762bd14ccbd8a3688a7592d96cd7 (diff)
downloadnode-new-a3f258c7693fd76fc26edc8c9d5b67f260eb755d.tar.gz
deps: cherry-pick a8f6869 from upstream V8
Original commit message: [debug] Fully implement Debug::ArchiveDebug and Debug::RestoreDebug. I have a project that embeds V8 and uses a single `Isolate` from multiple threads. The program runs just fine, but sometimes the inspector doesn't stop on the correct line after stepping over a statement that switches threads behind the scenes, even though the original thread is restored by the time the next statement is executed. After some digging, I discovered that the `Debug::ArchiveDebug` and `Debug::RestoreDebug` methods, which should be responsible for saving/restoring this `ThreadLocal` information when switching threads, currently don't do anything. This commit implements those methods using MemCopy, in the style of other Archive/Restore methods in the V8 codebase. Related: https://groups.google.com/forum/#!topic/v8-users/_Qf2rwljRk8 Note: I believe my employer, Meteor Development Group, has previously signed the CLA using the group email address google-contrib@meteor.com. R=yangguo@chromium.org,jgruber@chromium.org CC=info@bnoordhuis.nl Bug: v8:7230 Change-Id: Id517c873eb81cd53f7216c7efd441b956cf7f943 Reviewed-on: https://chromium-review.googlesource.com/833260 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54902} Refs: https://github.com/v8/v8/commit/a8f6869177685cfb9c199c454a86f4698c260515 PR-URL: https://github.com/nodejs/node/pull/21983 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps/v8/src/debug/debug.h')
-rw-r--r--deps/v8/src/debug/debug.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/deps/v8/src/debug/debug.h b/deps/v8/src/debug/debug.h
index 31881fe106..13844769c1 100644
--- a/deps/v8/src/debug/debug.h
+++ b/deps/v8/src/debug/debug.h
@@ -314,6 +314,7 @@ class Debug {
static int ArchiveSpacePerThread();
void FreeThreadResources() { }
void Iterate(RootVisitor* v);
+ void InitThread(const ExecutionAccess& lock) { ThreadInit(); }
bool CheckExecutionState() { return is_active() && break_id() != 0; }