• Simon Zünd's avatar
    Reland "[stack-trace] Include API functions in Error.stack stack trace" · 193a2617
    Simon Zünd authored
    This is a reland of 3dd56612
    
    The reland introduces a new flag "--experimental-stack-trace-frames".
    The flag is disabled by default, but enabled for relevant tests.
    The flag stays disabled by default until API frames are eagerly
    symbolized to prevent leaks in blink web tests.
    
    Original change's description:
    > [stack-trace] Include API functions in Error.stack stack trace
    >
    > This CL extends Error.stack to include frames of functions declared
    > with the C++ FunctionTemplate API. For example, "print" in d8.
    >
    > Two changes are necessary:
    >   - HandleApiCall and friends need to go through an BUILTIN_EXIT frame
    >     instead of an EXIT frame. The existing stack-trace machinery will
    >     then pick up FunctionTemplate frames without additional changes.
    >   - Turbofan doesn't go through HandleApiCall, but instead uses an
    >     ASM builtin to enter FunctionTemplate functions. A "marker"
    >     frame state is needed to include these frames in the stack trace.
    >
    > Note: This CL only includes these frames in Error.stack,
    > but not (yet) in the stack-trace API (v8.h).
    >
    > Bug: v8:8742,v8:6802
    > Change-Id: Ic0631af883cf56e0d0122a2e0c54e36fed324d91
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1609835
    > Commit-Queue: Simon Zünd <szuend@chromium.org>
    > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
    > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#61602}
    
    Bug: v8:8742, v8:6802
    Change-Id: I1d3b79cdf0b2edcbaeff1ec15e10deeca725f017
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1621925Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Simon Zünd <szuend@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#61683}
    193a2617
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...
COMMON_OWNERS Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS 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...