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) { |