• 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
ast.h 115 KB