| Index: test/cctest/test-api.cc
 | 
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
 | 
| index 818b9845417c47312126d23d956eadb0b5231a30..eea97c416841b2b6fae3b7975fea11d33df0be22 100644
 | 
| --- a/test/cctest/test-api.cc
 | 
| +++ b/test/cctest/test-api.cc
 | 
| @@ -4479,109 +4479,6 @@ THREADED_TEST(FunctionCall) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| -static const char* js_code_causing_out_of_memory =
 | 
| -    "var a = new Array(); while(true) a.push(a);";
 | 
| -
 | 
| -
 | 
| -// These tests run for a long time and prevent us from running tests
 | 
| -// that come after them so they cannot run in parallel.
 | 
| -TEST(OutOfMemory) {
 | 
| -  // It's not possible to read a snapshot into a heap with different dimensions.
 | 
| -  if (i::Snapshot::IsEnabled()) return;
 | 
| -  // Set heap limits.
 | 
| -  static const int K = 1024;
 | 
| -  v8::ResourceConstraints constraints;
 | 
| -  constraints.set_max_young_space_size(256 * K);
 | 
| -  constraints.set_max_old_space_size(5 * K * K);
 | 
| -  v8::SetResourceConstraints(CcTest::isolate(), &constraints);
 | 
| -
 | 
| -  // Execute a script that causes out of memory.
 | 
| -  LocalContext context;
 | 
| -  v8::HandleScope scope(context->GetIsolate());
 | 
| -  v8::V8::IgnoreOutOfMemoryException();
 | 
| -  Local<Value> result = CompileRun(js_code_causing_out_of_memory);
 | 
| -
 | 
| -  // Check for out of memory state.
 | 
| -  CHECK(result.IsEmpty());
 | 
| -  CHECK(context->HasOutOfMemoryException());
 | 
| -}
 | 
| -
 | 
| -
 | 
| -void ProvokeOutOfMemory(const v8::FunctionCallbackInfo<v8::Value>& args) {
 | 
| -  ApiTestFuzzer::Fuzz();
 | 
| -
 | 
| -  LocalContext context;
 | 
| -  v8::HandleScope scope(context->GetIsolate());
 | 
| -  Local<Value> result = CompileRun(js_code_causing_out_of_memory);
 | 
| -
 | 
| -  // Check for out of memory state.
 | 
| -  CHECK(result.IsEmpty());
 | 
| -  CHECK(context->HasOutOfMemoryException());
 | 
| -
 | 
| -  args.GetReturnValue().Set(result);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -TEST(OutOfMemoryNested) {
 | 
| -  // It's not possible to read a snapshot into a heap with different dimensions.
 | 
| -  if (i::Snapshot::IsEnabled()) return;
 | 
| -  // Set heap limits.
 | 
| -  static const int K = 1024;
 | 
| -  v8::ResourceConstraints constraints;
 | 
| -  constraints.set_max_young_space_size(256 * K);
 | 
| -  constraints.set_max_old_space_size(5 * K * K);
 | 
| -  v8::Isolate* isolate = CcTest::isolate();
 | 
| -  v8::SetResourceConstraints(isolate, &constraints);
 | 
| -
 | 
| -  v8::HandleScope scope(isolate);
 | 
| -  Local<ObjectTemplate> templ = ObjectTemplate::New(isolate);
 | 
| -  templ->Set(v8_str("ProvokeOutOfMemory"),
 | 
| -             v8::FunctionTemplate::New(isolate, ProvokeOutOfMemory));
 | 
| -  LocalContext context(0, templ);
 | 
| -  v8::V8::IgnoreOutOfMemoryException();
 | 
| -  Local<Value> result = CompileRun(
 | 
| -    "var thrown = false;"
 | 
| -    "try {"
 | 
| -    "  ProvokeOutOfMemory();"
 | 
| -    "} catch (e) {"
 | 
| -    "  thrown = true;"
 | 
| -    "}");
 | 
| -  // Check for out of memory state.
 | 
| -  CHECK(result.IsEmpty());
 | 
| -  CHECK(context->HasOutOfMemoryException());
 | 
| -}
 | 
| -
 | 
| -
 | 
| -void OOMCallback(const char* location, const char* message) {
 | 
| -  exit(0);
 | 
| -}
 | 
| -
 | 
| -
 | 
| -TEST(HugeConsStringOutOfMemory) {
 | 
| -  // It's not possible to read a snapshot into a heap with different dimensions.
 | 
| -  if (i::Snapshot::IsEnabled()) return;
 | 
| -  // Set heap limits.
 | 
| -  static const int K = 1024;
 | 
| -  v8::ResourceConstraints constraints;
 | 
| -  constraints.set_max_young_space_size(256 * K);
 | 
| -  constraints.set_max_old_space_size(4 * K * K);
 | 
| -  v8::SetResourceConstraints(CcTest::isolate(), &constraints);
 | 
| -
 | 
| -  // Execute a script that causes out of memory.
 | 
| -  v8::V8::SetFatalErrorHandler(OOMCallback);
 | 
| -
 | 
| -  LocalContext context;
 | 
| -  v8::HandleScope scope(context->GetIsolate());
 | 
| -
 | 
| -  // Build huge string. This should fail with out of memory exception.
 | 
| -  CompileRun(
 | 
| -    "var str = Array.prototype.join.call({length: 513}, \"A\").toUpperCase();"
 | 
| -    "for (var i = 0; i < 22; i++) { str = str + str; }");
 | 
| -
 | 
| -  CHECK(false);  // Should not return.
 | 
| -}
 | 
| -
 | 
| -
 | 
|  THREADED_TEST(ConstructCall) {
 | 
|    LocalContext context;
 | 
|    v8::Isolate* isolate = context->GetIsolate();
 | 
| 
 |