Index: src/assert-scope.h |
diff --git a/src/assert-scope.h b/src/assert-scope.h |
index fde49f84066d631391682aaf49cf46a00382836a..71f25e4b208ef293ddfdabf4f3ab808db4c50f8d 100644 |
--- a/src/assert-scope.h |
+++ b/src/assert-scope.h |
@@ -26,12 +26,12 @@ enum PerThreadAssertType { |
LAST_PER_THREAD_ASSERT_TYPE |
}; |
- |
enum PerIsolateAssertType { |
JAVASCRIPT_EXECUTION_ASSERT, |
JAVASCRIPT_EXECUTION_THROWS, |
DEOPTIMIZATION_ASSERT, |
- COMPILATION_ASSERT |
+ COMPILATION_ASSERT, |
+ NO_EXCEPTION_ASSERT |
}; |
template <PerThreadAssertType kType, bool kAllow> |
@@ -147,6 +147,14 @@ typedef PerIsolateAssertScope<JAVASCRIPT_EXECUTION_ASSERT, false> |
typedef PerIsolateAssertScope<JAVASCRIPT_EXECUTION_ASSERT, true> |
AllowJavascriptExecution; |
+// Scope to document where we do not expect javascript execution (debug only) |
+typedef PerIsolateAssertScopeDebugOnly<JAVASCRIPT_EXECUTION_ASSERT, false> |
+ DisallowJavascriptExecutionDebugOnly; |
+ |
+// Scope to introduce an exception to DisallowJavascriptExecutionDebugOnly. |
+typedef PerIsolateAssertScopeDebugOnly<JAVASCRIPT_EXECUTION_ASSERT, true> |
+ AllowJavascriptExecutionDebugOnly; |
+ |
// Scope in which javascript execution leads to exception being thrown. |
typedef PerIsolateAssertScope<JAVASCRIPT_EXECUTION_THROWS, false> |
ThrowOnJavascriptExecution; |
@@ -170,6 +178,14 @@ typedef PerIsolateAssertScopeDebugOnly<COMPILATION_ASSERT, false> |
// Scope to introduce an exception to DisallowDeoptimization. |
typedef PerIsolateAssertScopeDebugOnly<COMPILATION_ASSERT, true> |
AllowCompilation; |
+ |
+// Scope to document where we do not expect exceptions. |
+typedef PerIsolateAssertScopeDebugOnly<NO_EXCEPTION_ASSERT, false> |
+ DisallowExceptions; |
+ |
+// Scope to introduce an exception to DisallowExceptions. |
+typedef PerIsolateAssertScopeDebugOnly<NO_EXCEPTION_ASSERT, true> |
+ AllowExceptions; |
} // namespace internal |
} // namespace v8 |