| Index: src/full-codegen.cc
|
| diff --git a/src/full-codegen.cc b/src/full-codegen.cc
|
| index 16bb6c0d01330e73bacb096ed5d70619ed615078..dc645952d8ff6dcb12c02016569b306e71031aee 100644
|
| --- a/src/full-codegen.cc
|
| +++ b/src/full-codegen.cc
|
| @@ -388,10 +388,13 @@ unsigned FullCodeGenerator::EmitBackEdgeTable() {
|
|
|
| void FullCodeGenerator::InitializeFeedbackVector() {
|
| int length = info_->function()->slot_count();
|
| - ASSERT_EQ(isolate()->heap()->the_hole_value(),
|
| - *TypeFeedbackInfo::UninitializedSentinel(isolate()));
|
| - feedback_vector_ = isolate()->factory()->NewFixedArrayWithHoles(length,
|
| - TENURED);
|
| + 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);
|
| + }
|
| }
|
|
|
|
|
|
|