-
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