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_ |