Index: src/api.cc |
diff --git a/src/api.cc b/src/api.cc |
index 724c8433b4d0ecc1760030baf15c8a617213e375..64928abb108c6e104feb440873cd5fc81c847b59 100644 |
--- a/src/api.cc |
+++ b/src/api.cc |
@@ -1909,7 +1909,8 @@ v8::TryCatch::TryCatch() |
is_verbose_(false), |
can_continue_(true), |
capture_message_(true), |
- rethrow_(false) { |
+ rethrow_(false), |
+ has_terminated_(false) { |
isolate_->RegisterTryCatchHandler(this); |
} |
@@ -1937,6 +1938,11 @@ bool v8::TryCatch::CanContinue() const { |
} |
+bool v8::TryCatch::HasTerminated() const { |
+ return has_terminated_; |
+} |
+ |
+ |
v8::Handle<v8::Value> v8::TryCatch::ReThrow() { |
if (!HasCaught()) return v8::Local<v8::Value>(); |
rethrow_ = true; |
@@ -6116,6 +6122,12 @@ bool V8::IsExecutionTerminating(Isolate* isolate) { |
} |
+void V8::CancelTerminateExecution(Isolate* isolate) { |
+ i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(isolate); |
+ i_isolate->stack_guard()->CancelTerminateExecution(); |
+} |
+ |
+ |
Isolate* Isolate::GetCurrent() { |
i::Isolate* isolate = i::Isolate::UncheckedCurrent(); |
return reinterpret_cast<Isolate*>(isolate); |