Index: src/ic/arm/ic-arm.cc |
diff --git a/src/ic/arm/ic-arm.cc b/src/ic/arm/ic-arm.cc |
index f096969838dcc548b68b0353374226243c03d7df..deead0a51c06582c0946eab2a6588aee76b474f4 100644 |
--- a/src/ic/arm/ic-arm.cc |
+++ b/src/ic/arm/ic-arm.cc |
@@ -431,10 +431,11 @@ void KeyedLoadIC::GenerateMegamorphic(MacroAssembler* masm, |
Register vector = LoadWithVectorDescriptor::VectorRegister(); |
Register slot = LoadWithVectorDescriptor::SlotRegister(); |
DCHECK(!AreAliased(vector, slot, r4, r5, r6, r9)); |
- Handle<TypeFeedbackVector> dummy_vector = Handle<TypeFeedbackVector>::cast( |
- masm->isolate()->factory()->keyed_load_dummy_vector()); |
- int slot_index = dummy_vector->GetIndex(FeedbackVectorICSlot(0)); |
- __ LoadRoot(vector, Heap::kKeyedLoadDummyVectorRootIndex); |
+ Handle<TypeFeedbackVector> dummy_vector = |
+ TypeFeedbackVector::DummyVector(masm->isolate()); |
+ int slot_index = dummy_vector->GetIndex( |
+ FeedbackVectorICSlot(TypeFeedbackVector::kDummyKeyedLoadICSlot)); |
+ __ LoadRoot(vector, Heap::kDummyVectorRootIndex); |
__ mov(slot, Operand(Smi::FromInt(slot_index))); |
Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( |
@@ -699,10 +700,11 @@ void KeyedStoreIC::GenerateMegamorphic(MacroAssembler* masm, |
Register vector = VectorStoreICDescriptor::VectorRegister(); |
Register slot = VectorStoreICDescriptor::SlotRegister(); |
DCHECK(!AreAliased(vector, slot, r3, r4, r5, r6)); |
- Handle<TypeFeedbackVector> dummy_vector = Handle<TypeFeedbackVector>::cast( |
- masm->isolate()->factory()->keyed_store_dummy_vector()); |
- int slot_index = dummy_vector->GetIndex(FeedbackVectorICSlot(0)); |
- __ LoadRoot(vector, Heap::kKeyedStoreDummyVectorRootIndex); |
+ Handle<TypeFeedbackVector> dummy_vector = |
+ TypeFeedbackVector::DummyVector(masm->isolate()); |
+ int slot_index = dummy_vector->GetIndex( |
+ FeedbackVectorICSlot(TypeFeedbackVector::kDummyKeyedStoreICSlot)); |
+ __ LoadRoot(vector, Heap::kDummyVectorRootIndex); |
__ mov(slot, Operand(Smi::FromInt(slot_index))); |
} |