Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index 846d361c089a593398aadf32c10b818737f56fa6..484b572093ce7d46067b26b80829c3386130987a 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -1069,8 +1069,11 @@ Handle<Code> LoadIC::CompileHandler(LookupIterator* lookup, |
// -------------- Constant properties -------------- |
DCHECK(lookup->property_details().type() == CONSTANT); |
- Handle<Object> constant = lookup->GetDataValue(); |
- return compiler.CompileLoadConstant(name, constant); |
+ if (receiver_is_holder) { |
+ LoadConstantStub stub(isolate(), lookup->GetConstantIndex()); |
+ return stub.GetCode(); |
+ } |
+ return compiler.CompileLoadConstant(name, lookup->GetConstantIndex()); |
} |