• jgruber's avatar
    Refactor call site handling for stack formatting · f7bc1fc7
    jgruber authored
    This commit introduces several new types:
    
    * JSStackFrame and WasmStackFrame are wrapper classes around a single frame
      in a FrameArray.
    * They both inherit from StackFrameBase, which uses virtual dispatch to call
      the correct implementation.
    * FrameArrayIterator contains a static instance of JSStackFrame and
      WasmStackFrame and returns a pointer to the corresponding type for each
      frame.
    * The JS callsite object now contains the frame array and frame index
      as internal fields.
    
    Internal stack formatting now relies completely on FrameArrayIterator and the
    {JS,Wasm}StackFrame types. JS callsite instances are allocated only for custom
    user formatting through Error.prepareStackTrace.
    
    BUG=
    
    Review-Url: https://codereview.chromium.org/2275233002
    Cr-Commit-Position: refs/heads/master@{#39015}
    f7bc1fc7
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn 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...
Makefile Loading commit data...
Makefile.android 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...