Unverified Commit ce65d845 authored by Ben Newman's avatar Ben Newman Committed by Myles Borins
Browse files

deps: backport a8f6869 from upstream V8

The upstream V8 commit a8f68691 was originally cherry-picked onto
nodejs/node master as commit bb357524, then backported to v10.x-staging
and released in Node.js v10.10.0 as 5e9ed6d9. This commit cherry-picks
that commit back to the v8.x-staging branch.

Additionally this commit supports optional boolean argument to
DisableBreak constructor.

This allows a stack-allocated DisableBreak object to re-enable
breakpoints temporarily, rather than always disabling them.

This functionality anticipates an upstream change that will be
introduced in V8 6.7.176:

https://github.com/v8/v8/commit/cc9736a1c0f409bf26d35653358a7b14212d2435

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

  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: default avatarYang Guo <yangguo@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#54902}

PR-URL: https://github.com/nodejs/node/pull/22714
Refs: https://github.com/v8/v8/commit/a8f6869177685cfb9c199c454a86f4698c260515
Refs: https://github.com/nodejs/node/pull/22122
Refs: https://github.com/nodejs/node/commit/bb3575242cc87f59882bbcefa253353313f5606b
Refs: https://github.com/nodejs/node/commit/5e9ed6d924db97462fb208e7ad8f32acce2a9bf3


Reviewed-By: default avatarJames M Snell <jasnell@gmail.com>
Reviewed-By: default avatarMyles Borins <myles.borins@gmail.com>
Reviewed-By: default avatarYang Guo <yangguo@chromium.org>
parent 7ab253f6
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment