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()) { |