| 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());
|
| }
|
|
|
|
|
|
|