v8/test
Simon Zünd 2e11dff7f2 Change debug-evaluate from a whitelist to a blacklist approach
This CL changes how variables are resolved during debug evaluate.
We now re-parse the whole script when creating a ScopeIterator.
This gives us accurate scope information for all parent scopes of the
closure in which we stopped. Using this information, we build
blacklists of stack-allocated variables. Each context on the chain
in between the closure context up to the original native context is
wrapped in a debug-evaluate context with such a blacklist attached.
Variable lookup for debug-evalute contexts then works as follows:

  1) Look up in the materialized stack variables (stayed the same).
  2) Check the blacklist to find out whether to abort further lookup.
  3) Look up in the original context.

Steps 1-3 is repeated for each debug-evaluate context, since they
mirror the original context chain.

R=ulan@chromium.org, yangguo@chromium.org

Change-Id: Ied8e5786772c70566da9627ee3b7eff066fba2b4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1795354
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63666}
2019-09-11 07:52:45 +00:00
..
benchmarks [test] Skip flaky test on predictable mode 2019-05-07 13:57:18 +00:00
cctest [mips][cleanup] Eliminate non-const reference parameters 2019-09-11 07:50:36 +00:00
common Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
debugger Change debug-evaluate from a whitelist to a blacklist approach 2019-09-11 07:52:45 +00:00
fuzzer Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
inspector [wasm] Async-ify wasm-stepping test 2019-09-09 13:03:02 +00:00
intl Remove CHECK which fail while the locale is long. 2019-09-10 19:28:54 +00:00
js-perf-test [jsperf] Add benchmark for LoadConstantFromPrototype 2019-08-16 09:33:06 +00:00
memory [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +00:00
message Reland "[destructuring] Elide coercible check for simple keys" 2019-08-30 10:51:49 +00:00
mjsunit Un-skip bit-not test 2019-09-10 12:39:29 +00:00
mkgrokdump [tools] Teach v8_debug_helper where heap spaces start in ptr-compr mode 2019-09-09 16:14:12 +00:00
mozilla [CSA] TNodify the rest of the member variables in interpreter assembler 2019-09-05 11:49:59 +00:00
preparser Add OWNERS files for src and test 2019-05-30 04:51:21 +00:00
test262 [class] Fix private name scope chain 2019-09-06 00:52:07 +00:00
torque [torque] Add HeapSlice location references to Torque 2019-08-30 11:51:32 +00:00
unittests [cleanup] Eliminate non-const reference parameters 2019-09-10 11:47:39 +00:00
wasm-api-tests [wasm-c-api] Roll bf31edf: Fix life times of host info 2019-08-26 14:28:51 +00:00
wasm-js Reland [wasm] Stage wasm-bigint 2019-09-05 12:02:19 +00:00
wasm-spec-tests Reland [wasm] Stage wasm-bigint 2019-09-05 12:02:19 +00:00
webkit [regexp] Add missing case for EscapeRegExpPattern 2019-07-09 08:11:51 +00:00
BUILD.gn [wasm-c-api] Add tests and fixes 2019-05-28 09:57:04 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00