• rmcilroy's avatar
    [TurboFan] Ensure value is pushed for StackOverflow in AstVisitor::Visit. · c13acc81
    rmcilroy authored
    AstGraphBuilder overrides Visit(Expression*) to ensure that even if there is a
    stack overflow, a value still gets produced. However, if there was no stack
    overflow in the overriden function, but calling
    AstVisitor<AstGraphBuilder>::Visit(expr) pushes us over the stack limit, then
    the stack overflow check in that function will return without visiting the
    expression, and the result will never get pushed.
    
    To fix this, we add a new VisitNoStackOverflowCheck function which avoids the
    inner stack check, and call that instead.
    
    Since this depends on the size of C++ stack frames, there is no reliable test
    I can add, however regress-635429.js exibits this behavior after
    https://codereview.chromium.org/2240463002/ lands.
    
    Review-Url: https://codereview.chromium.org/2262703002
    Cr-Commit-Position: refs/heads/master@{#38774}
    c13acc81
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...