| Index: test/cctest/test-thread-termination.cc
|
| ===================================================================
|
| --- test/cctest/test-thread-termination.cc (revision 15486)
|
| +++ test/cctest/test-thread-termination.cc (working copy)
|
| @@ -322,6 +322,7 @@
|
| v8::Script::Compile(source)->Run();
|
| }
|
|
|
| +
|
| void ReenterAfterTermination(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| v8::TryCatch try_catch;
|
| CHECK(!v8::V8::IsExecutionTerminating());
|
| @@ -346,6 +347,7 @@
|
| v8::Script::Compile(v8::String::New("function f() { fail(); } f()"))->Run();
|
| }
|
|
|
| +
|
| // Test that reentry into V8 while the termination exception is still pending
|
| // (has not yet unwound the 0-level JS frame) does not crash.
|
| TEST(TerminateAndReenterFromThreadItself) {
|
| @@ -365,6 +367,7 @@
|
| "f()"))->Run()->IsTrue());
|
| }
|
|
|
| +
|
| void DoLoopCancelTerminate(const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| v8::TryCatch try_catch;
|
| CHECK(!v8::V8::IsExecutionTerminating());
|
| @@ -384,6 +387,7 @@
|
| CHECK(!v8::V8::IsExecutionTerminating());
|
| }
|
|
|
| +
|
| // Test that a single thread of JavaScript execution can terminate
|
| // itself and then resume execution.
|
| TEST(TerminateCancelTerminateFromThreadItself) {
|
|
|