| Index: test/cctest/test-compiler.cc | 
| diff --git a/test/cctest/test-compiler.cc b/test/cctest/test-compiler.cc | 
| index bce3fb239497ec5f95d5f75820413d74ea5567c3..b7073e748949cf22f3ae8df59a31c4177775cbed 100644 | 
| --- a/test/cctest/test-compiler.cc | 
| +++ b/test/cctest/test-compiler.cc | 
| @@ -406,150 +406,6 @@ TEST(OptimizedCodeSharing1) { | 
| } | 
| } | 
|  | 
| -// Test that optimized code for different closures is actually shared. | 
| -TEST(OptimizedCodeSharing2) { | 
| -  if (FLAG_stress_compaction) return; | 
| -  FLAG_allow_natives_syntax = true; | 
| -  FLAG_native_context_specialization = false; | 
| -  FLAG_turbo_cache_shared_code = true; | 
| -  const char* flag = "--turbo-filter=*"; | 
| -  FlagList::SetFlagsFromString(flag, StrLength(flag)); | 
| -  CcTest::InitializeVM(); | 
| -  v8::HandleScope scope(CcTest::isolate()); | 
| -  v8::Local<v8::Script> script = v8_compile( | 
| -      "function MakeClosure() {" | 
| -      "  return function() { return x; };" | 
| -      "}"); | 
| -  Handle<Code> reference_code; | 
| -  { | 
| -    LocalContext env; | 
| -    env->Global() | 
| -        ->Set(env.local(), v8_str("x"), v8::Integer::New(CcTest::isolate(), 23)) | 
| -        .FromJust(); | 
| -    script->GetUnboundScript() | 
| -        ->BindToCurrentContext() | 
| -        ->Run(env.local()) | 
| -        .ToLocalChecked(); | 
| -    CompileRun( | 
| -        "var closure0 = MakeClosure();" | 
| -        "%DebugPrint(closure0());" | 
| -        "%OptimizeFunctionOnNextCall(closure0);" | 
| -        "%DebugPrint(closure0());"); | 
| -    Handle<JSFunction> fun0 = Handle<JSFunction>::cast( | 
| -        v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast( | 
| -            env->Global() | 
| -                ->Get(env.local(), v8_str("closure0")) | 
| -                .ToLocalChecked()))); | 
| -    CHECK(fun0->IsOptimized() || !CcTest::i_isolate()->use_crankshaft()); | 
| -    reference_code = handle(fun0->code()); | 
| -  } | 
| -  for (int i = 0; i < 3; i++) { | 
| -    LocalContext env; | 
| -    env->Global() | 
| -        ->Set(env.local(), v8_str("x"), v8::Integer::New(CcTest::isolate(), i)) | 
| -        .FromJust(); | 
| -    script->GetUnboundScript() | 
| -        ->BindToCurrentContext() | 
| -        ->Run(env.local()) | 
| -        .ToLocalChecked(); | 
| -    CompileRun( | 
| -        "var closure0 = MakeClosure();" | 
| -        "%DebugPrint(closure0());" | 
| -        "%OptimizeFunctionOnNextCall(closure0);" | 
| -        "%DebugPrint(closure0());" | 
| -        "var closure1 = MakeClosure(); closure1();" | 
| -        "var closure2 = MakeClosure(); closure2();"); | 
| -    Handle<JSFunction> fun1 = Handle<JSFunction>::cast( | 
| -        v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast( | 
| -            env->Global() | 
| -                ->Get(env.local(), v8_str("closure1")) | 
| -                .ToLocalChecked()))); | 
| -    Handle<JSFunction> fun2 = Handle<JSFunction>::cast( | 
| -        v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast( | 
| -            env->Global() | 
| -                ->Get(env.local(), v8_str("closure2")) | 
| -                .ToLocalChecked()))); | 
| -    CHECK(fun1->IsOptimized() || !CcTest::i_isolate()->use_crankshaft()); | 
| -    CHECK(fun2->IsOptimized() || !CcTest::i_isolate()->use_crankshaft()); | 
| -    CHECK_EQ(*reference_code, fun1->code()); | 
| -    CHECK_EQ(*reference_code, fun2->code()); | 
| -  } | 
| -} | 
| - | 
| -// Test that optimized code for different closures is actually shared. | 
| -TEST(OptimizedCodeSharing3) { | 
| -  if (FLAG_stress_compaction) return; | 
| -  FLAG_allow_natives_syntax = true; | 
| -  FLAG_native_context_specialization = false; | 
| -  FLAG_turbo_cache_shared_code = true; | 
| -  const char* flag = "--turbo-filter=*"; | 
| -  FlagList::SetFlagsFromString(flag, StrLength(flag)); | 
| -  CcTest::InitializeVM(); | 
| -  v8::HandleScope scope(CcTest::isolate()); | 
| -  v8::Local<v8::Script> script = v8_compile( | 
| -      "function MakeClosure() {" | 
| -      "  return function() { return x; };" | 
| -      "}"); | 
| -  Handle<Code> reference_code; | 
| -  { | 
| -    LocalContext env; | 
| -    env->Global() | 
| -        ->Set(env.local(), v8_str("x"), v8::Integer::New(CcTest::isolate(), 23)) | 
| -        .FromJust(); | 
| -    script->GetUnboundScript() | 
| -        ->BindToCurrentContext() | 
| -        ->Run(env.local()) | 
| -        .ToLocalChecked(); | 
| -    CompileRun( | 
| -        "var closure0 = MakeClosure();" | 
| -        "%DebugPrint(closure0());" | 
| -        "%OptimizeFunctionOnNextCall(closure0);" | 
| -        "%DebugPrint(closure0());"); | 
| -    Handle<JSFunction> fun0 = Handle<JSFunction>::cast( | 
| -        v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast( | 
| -            env->Global() | 
| -                ->Get(env.local(), v8_str("closure0")) | 
| -                .ToLocalChecked()))); | 
| -    CHECK(fun0->IsOptimized() || !CcTest::i_isolate()->use_crankshaft()); | 
| -    reference_code = handle(fun0->code()); | 
| -    // Evict only the context-dependent entry from the optimized code map. This | 
| -    // leaves it in a state where only the context-independent entry exists. | 
| -    fun0->shared()->TrimOptimizedCodeMap(SharedFunctionInfo::kEntryLength); | 
| -  } | 
| -  for (int i = 0; i < 3; i++) { | 
| -    LocalContext env; | 
| -    env->Global() | 
| -        ->Set(env.local(), v8_str("x"), v8::Integer::New(CcTest::isolate(), i)) | 
| -        .FromJust(); | 
| -    script->GetUnboundScript() | 
| -        ->BindToCurrentContext() | 
| -        ->Run(env.local()) | 
| -        .ToLocalChecked(); | 
| -    CompileRun( | 
| -        "var closure0 = MakeClosure();" | 
| -        "%DebugPrint(closure0());" | 
| -        "%OptimizeFunctionOnNextCall(closure0);" | 
| -        "%DebugPrint(closure0());" | 
| -        "var closure1 = MakeClosure(); closure1();" | 
| -        "var closure2 = MakeClosure(); closure2();"); | 
| -    Handle<JSFunction> fun1 = Handle<JSFunction>::cast( | 
| -        v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast( | 
| -            env->Global() | 
| -                ->Get(env.local(), v8_str("closure1")) | 
| -                .ToLocalChecked()))); | 
| -    Handle<JSFunction> fun2 = Handle<JSFunction>::cast( | 
| -        v8::Utils::OpenHandle(*v8::Local<v8::Function>::Cast( | 
| -            env->Global() | 
| -                ->Get(env.local(), v8_str("closure2")) | 
| -                .ToLocalChecked()))); | 
| -    CHECK(fun1->IsOptimized() || !CcTest::i_isolate()->use_crankshaft()); | 
| -    CHECK(fun2->IsOptimized() || !CcTest::i_isolate()->use_crankshaft()); | 
| -    CHECK_EQ(*reference_code, fun1->code()); | 
| -    CHECK_EQ(*reference_code, fun2->code()); | 
| -  } | 
| -} | 
| - | 
| - | 
| TEST(CompileFunctionInContext) { | 
| CcTest::InitializeVM(); | 
| v8::HandleScope scope(CcTest::isolate()); | 
|  |