-
Simon Zünd authored
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/+/1795354Reviewed-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}
2e11dff7
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
bugs/harmony | ||
debug | ||
protocol | ||
regress | ||
wrapper | ||
BUILD.gn | ||
OWNERS | ||
debugger.status | ||
test-api.js | ||
testcfg.py |