| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index ffae46225b525afc9718222bf4fbc82d0490bd02..030796891b0c49838eeb05f044426f2be46d6074 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -3161,23 +3161,23 @@ class AstVisitor BASE_EMBEDDED {
|
| \
|
| bool CheckStackOverflow() { \
|
| if (stack_overflow_) return true; \
|
| - StackLimitCheck check(isolate_); \
|
| - if (!check.HasOverflowed()) return false; \
|
| - stack_overflow_ = true; \
|
| - return true; \
|
| + if (GetCurrentStackPosition() < stack_limit_) { \
|
| + stack_overflow_ = true; \
|
| + return true; \
|
| + } \
|
| + return false; \
|
| } \
|
| \
|
| private: \
|
| void InitializeAstVisitor(Isolate* isolate, Zone* zone) { \
|
| - isolate_ = isolate; \
|
| zone_ = zone; \
|
| + stack_limit_ = isolate->stack_guard()->real_climit(); \
|
| stack_overflow_ = false; \
|
| } \
|
| Zone* zone() { return zone_; } \
|
| - Isolate* isolate() { return isolate_; } \
|
| \
|
| - Isolate* isolate_; \
|
| Zone* zone_; \
|
| + uintptr_t stack_limit_; \
|
| bool stack_overflow_
|
|
|
|
|
|
|