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