Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index 082a480ee85937092785c2f8fcaf5a4c42fd25ef..03b53b3d36341f4473083d91be8d9beda2648184 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -3782,8 +3782,9 @@ void LCodeGen::DoCallNew(LCallNew* instr) { |
__ Set(rax, instr->arity()); |
// No cell in ebx for construct type feedback in optimized code |
- Handle<Object> undefined_value(isolate()->factory()->undefined_value()); |
- __ Move(rbx, undefined_value); |
+ Handle<Object> megamorphic_symbol = |
+ TypeFeedbackInfo::MegamorphicSentinel(isolate()); |
+ __ Move(rbx, megamorphic_symbol); |
CallConstructStub stub(NO_CALL_FUNCTION_FLAGS); |
CallCode(stub.GetCode(isolate()), RelocInfo::CONSTRUCT_CALL, instr); |
} |
@@ -3795,7 +3796,7 @@ void LCodeGen::DoCallNewArray(LCallNewArray* instr) { |
ASSERT(ToRegister(instr->result()).is(rax)); |
__ Set(rax, instr->arity()); |
- __ Move(rbx, factory()->undefined_value()); |
+ __ Move(rbx, TypeFeedbackInfo::MegamorphicSentinel(isolate())); |
ElementsKind kind = instr->hydrogen()->elements_kind(); |
AllocationSiteOverrideMode override_mode = |
(AllocationSite::GetMode(kind) == TRACK_ALLOCATION_SITE) |