| Index: src/ic.cc
|
| diff --git a/src/ic.cc b/src/ic.cc
|
| index bd8db3e01af8bda046cff075238be2c522597304..05b235c79407355d24790e9ba2454556420627a0 100644
|
| --- a/src/ic.cc
|
| +++ b/src/ic.cc
|
| @@ -1474,6 +1474,11 @@ Handle<Code> StoreIC::CompileStoreHandler(LookupResult* lookup,
|
| } else {
|
| switch (lookup->type()) {
|
| case FIELD:
|
| + if (!lookup->representation().IsHeapObject()) {
|
| + StoreFieldStub stub(isolate(), lookup->GetFieldIndex(),
|
| + lookup->representation());
|
| + return stub.GetCode();
|
| + }
|
| return compiler.CompileStoreField(lookup, name);
|
| case NORMAL:
|
| if (receiver->IsJSGlobalProxy() || receiver->IsGlobalObject()) {
|
|
|