• Simon Zünd's avatar
    [stack-trace] Use ErrorStack accessor for formatted stack traces · c8206043
    Simon Zünd authored
    When a stack trace is captured, it is stored in a private symbol on
    the respective Error object. The first access to "Error.stack"  will
    then format the stack trace, with a possible call into user JS via
    the Error.prepareStackTrace callback.
    
    Until now, the accessor converted ".stack" to a normal data
    property containing the formatted stack trace. This causes a new Map
    with a new DescriptorArray to be created, which will not be shared
    with anything else (also not other error objects with formated
    stack traces).
    
    This CL changes the accessor to store the formatted stack trace in
    the same symbol (stack_trace_symbol) as the structured data. The
    result is that an error object will have the same Map before and
    after "Error.stack" is accessed.
    
    Bug: v8:9115
    Change-Id: I7d6bf49be76d63b57fbbaf904cc6ed7dbdbfb96b
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1564061
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60865}
    c8206043
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...