Index: src/json-parser.cc |
diff --git a/src/json-parser.cc b/src/json-parser.cc |
index 784d55d5514e778daf81664b67c58bd56bf7390c..29a7af9c73803bd041915794e903dbf72f25a697 100644 |
--- a/src/json-parser.cc |
+++ b/src/json-parser.cc |
@@ -249,10 +249,9 @@ Handle<Object> JsonParser<seq_one_byte>::ParseJsonValue() { |
return Handle<Object>::null(); |
} |
- if (stack_check.InterruptRequested()) { |
- ExecutionAccess access(isolate_); |
- // Avoid blocking GC in long running parser (v8:3974). |
- isolate_->stack_guard()->HandleGCInterrupt(); |
+ if (stack_check.InterruptRequested() && |
+ isolate_->stack_guard()->HandleInterrupts()->IsException()) { |
+ return Handle<Object>::null(); |
} |
if (c0_ == '"') return ParseJsonString(); |