Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index d351ff420eb000ea0046b58b099c00c1e7c45e92..3d1116e8db21491f9e654586255f9c7a617e55c7 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -1321,7 +1321,14 @@ void FullCodeGenerator::EmitLoadHomeObject(SuperReference* expr) { |
Handle<Symbol> home_object_symbol(isolate()->heap()->home_object_symbol()); |
__ Move(LoadDescriptor::NameRegister(), home_object_symbol); |
- CallLoadIC(NOT_CONTEXTUAL, expr->HomeObjectFeedbackId()); |
+ if (FLAG_vector_ics) { |
+ __ Move(VectorLoadICDescriptor::SlotRegister(), |
+ Smi::FromInt(expr->HomeObjectFeedbackSlot())); |
+ CallLoadIC(NOT_CONTEXTUAL); |
+ } else { |
+ CallLoadIC(NOT_CONTEXTUAL, expr->HomeObjectFeedbackId()); |
+ } |
+ |
__ Cmp(rax, isolate()->factory()->undefined_value()); |
Label done; |