Index: src/isolate.cc |
diff --git a/src/isolate.cc b/src/isolate.cc |
index 73c7bf1824f19301fbfec9164f1806782f222913..d60a481c201bd6428d7f1c6efbd713587a2970b5 100644 |
--- a/src/isolate.cc |
+++ b/src/isolate.cc |
@@ -26,6 +26,7 @@ |
#include "src/hydrogen.h" |
#include "src/ic/stub-cache.h" |
#include "src/interpreter/interpreter.h" |
+#include "src/isolate-inl.h" |
#include "src/lithium-allocator.h" |
#include "src/log.h" |
#include "src/messages.h" |
@@ -2798,6 +2799,18 @@ SaveContext::SaveContext(Isolate* isolate) |
} |
+SaveContext::~SaveContext() { |
+ isolate_->set_context(context_.is_null() ? NULL : *context_); |
+ isolate_->set_save_context(prev_); |
+} |
+ |
+ |
+#ifdef DEBUG |
+AssertNoContextChange::AssertNoContextChange(Isolate* isolate) |
+ : isolate_(isolate), context_(isolate->context(), isolate) {} |
+#endif // DEBUG |
+ |
+ |
bool PostponeInterruptsScope::Intercept(StackGuard::InterruptFlag flag) { |
// First check whether the previous scope intercepts. |
if (prev_ && prev_->Intercept(flag)) return true; |