| Index: test/cctest/test-compiler.cc
|
| diff --git a/test/cctest/test-compiler.cc b/test/cctest/test-compiler.cc
|
| index 079b286faad1a33fb84944ae2ac7f75667d49c14..120a0533853339804adce806437522b9b2e44896 100644
|
| --- a/test/cctest/test-compiler.cc
|
| +++ b/test/cctest/test-compiler.cc
|
| @@ -312,78 +312,6 @@ TEST(GetScriptLineNumber) {
|
| }
|
|
|
|
|
| -TEST(FeedbackVectorPreservedAcrossRecompiles) {
|
| - if (i::FLAG_always_opt || !i::FLAG_crankshaft) return;
|
| - i::FLAG_allow_natives_syntax = true;
|
| - CcTest::InitializeVM();
|
| - if (!CcTest::i_isolate()->use_crankshaft()) return;
|
| - v8::HandleScope scope(CcTest::isolate());
|
| -
|
| - // Make sure function f has a call that uses a type feedback slot.
|
| - CompileRun("function fun() {};"
|
| - "fun1 = fun;"
|
| - "function f(a) { a(); } f(fun1);");
|
| -
|
| - Handle<JSFunction> f =
|
| - v8::Utils::OpenHandle(
|
| - *v8::Handle<v8::Function>::Cast(
|
| - CcTest::global()->Get(v8_str("f"))));
|
| -
|
| - // We shouldn't have deoptimization support. We want to recompile and
|
| - // verify that our feedback vector preserves information.
|
| - CHECK(!f->shared()->has_deoptimization_support());
|
| - Handle<FixedArray> feedback_vector(f->shared()->feedback_vector());
|
| -
|
| - // Verify that we gathered feedback.
|
| - CHECK_EQ(1, feedback_vector->length());
|
| - CHECK(feedback_vector->get(0)->IsJSFunction());
|
| -
|
| - CompileRun("%OptimizeFunctionOnNextCall(f); f(fun1);");
|
| -
|
| - // Verify that the feedback is still "gathered" despite a recompilation
|
| - // of the full code.
|
| - CHECK(f->shared()->has_deoptimization_support());
|
| - CHECK(f->shared()->feedback_vector()->get(0)->IsJSFunction());
|
| -}
|
| -
|
| -
|
| -TEST(FeedbackVectorRecreatedOnScopeChanges) {
|
| - if (i::FLAG_always_opt || !i::FLAG_lazy) return;
|
| - CcTest::InitializeVM();
|
| - v8::HandleScope scope(CcTest::isolate());
|
| -
|
| - CompileRun("function builder() {"
|
| - " call_target = function() { return 3; };"
|
| - " return (function() {"
|
| - " eval('');"
|
| - " return function() {"
|
| - " 'use strict';"
|
| - " call_target();"
|
| - " }"
|
| - " })();"
|
| - "}"
|
| - "morphing_call = builder();");
|
| -
|
| - Handle<JSFunction> f =
|
| - v8::Utils::OpenHandle(
|
| - *v8::Handle<v8::Function>::Cast(
|
| - CcTest::global()->Get(v8_str("morphing_call"))));
|
| -
|
| - // morphing_call should have one feedback vector slot for the call to
|
| - // call_target(), scoping analysis having been performed.
|
| - CHECK_EQ(1, f->shared()->feedback_vector()->length());
|
| - // And yet it's not compiled.
|
| - CHECK(!f->shared()->is_compiled());
|
| -
|
| - CompileRun("morphing_call();");
|
| -
|
| - // On scoping analysis after lazy compile, the call is now a global
|
| - // call which needs no feedback vector slot.
|
| - CHECK_EQ(0, f->shared()->feedback_vector()->length());
|
| - CHECK(f->shared()->is_compiled());
|
| -}
|
| -
|
| -
|
| // Test that optimized code for different closures is actually shared
|
| // immediately by the FastNewClosureStub when run in the same context.
|
| TEST(OptimizedCodeSharing) {
|
|
|