| Index: src/ic-inl.h
|
| diff --git a/src/ic-inl.h b/src/ic-inl.h
|
| index c1c5c5ecc47b76287ab39c2bed58c85998a36318..d1c31c0c8f3227e4afab1771daeed4ed7a803033 100644
|
| --- a/src/ic-inl.h
|
| +++ b/src/ic-inl.h
|
| @@ -113,8 +113,9 @@ InlineCacheHolderFlag IC::GetCodeCacheForObject(Object* object) {
|
| HeapObject* IC::GetCodeCacheHolder(Isolate* isolate,
|
| Object* object,
|
| InlineCacheHolderFlag holder) {
|
| - Object* map_owner =
|
| - holder == OWN_MAP ? object : object->GetPrototype(isolate);
|
| + if (object->IsSmi()) holder = PROTOTYPE_MAP;
|
| + Object* map_owner = holder == OWN_MAP
|
| + ? object : object->GetPrototype(isolate);
|
| return HeapObject::cast(map_owner);
|
| }
|
|
|
|
|