Index: src/full-codegen.cc |
diff --git a/src/full-codegen.cc b/src/full-codegen.cc |
index 6291f4e83ec26e75390c0d627a86b9517e435c8c..d116bae581a80fa3636f9ae1c7e41c48bb03d789 100644 |
--- a/src/full-codegen.cc |
+++ b/src/full-codegen.cc |
@@ -386,18 +386,6 @@ unsigned FullCodeGenerator::EmitBackEdgeTable() { |
} |
-void FullCodeGenerator::InitializeFeedbackVector() { |
- int length = info_->function()->slot_count(); |
- feedback_vector_ = isolate()->factory()->NewFixedArray(length, TENURED); |
- Handle<Object> sentinel = TypeFeedbackInfo::UninitializedSentinel(isolate()); |
- // Ensure that it's safe to set without using a write barrier. |
- ASSERT_EQ(isolate()->heap()->uninitialized_symbol(), *sentinel); |
- for (int i = 0; i < length; i++) { |
- feedback_vector_->set(i, *sentinel, SKIP_WRITE_BARRIER); |
- } |
-} |
- |
- |
void FullCodeGenerator::PopulateDeoptimizationData(Handle<Code> code) { |
// Fill in the deoptimization information. |
ASSERT(info_->HasDeoptimizationSupport() || bailout_entries_.is_empty()); |
@@ -416,7 +404,6 @@ void FullCodeGenerator::PopulateDeoptimizationData(Handle<Code> code) { |
void FullCodeGenerator::PopulateTypeFeedbackInfo(Handle<Code> code) { |
Handle<TypeFeedbackInfo> info = isolate()->factory()->NewTypeFeedbackInfo(); |
info->set_ic_total_count(ic_total_count_); |
- info->set_feedback_vector(*FeedbackVector()); |
ASSERT(!isolate()->heap()->InNewSpace(*info)); |
code->set_type_feedback_info(*info); |
} |
@@ -1618,7 +1605,8 @@ void FullCodeGenerator::VisitNativeFunctionLiteral( |
bool is_generator = false; |
Handle<SharedFunctionInfo> shared = |
isolate()->factory()->NewSharedFunctionInfo(name, literals, is_generator, |
- code, Handle<ScopeInfo>(fun->shared()->scope_info())); |
+ code, Handle<ScopeInfo>(fun->shared()->scope_info()), |
+ Handle<FixedArray>(fun->shared()->feedback_vector())); |
shared->set_construct_stub(*construct_stub); |
// Copy the function data to the shared function info. |