Code::kNoExtraICState) \
V(KeyedLoadIC_Generic, KEYED_LOAD_IC, GENERIC, \
Code::kNoExtraICState) \
- V(KeyedLoadIC_String, KEYED_LOAD_IC, GENERIC, \
+ V(KeyedLoadIC_String, KEYED_LOAD_IC, MONOMORPHIC, \
Code::kNoExtraICState) \
- V(KeyedLoadIC_IndexedInterceptor, KEYED_LOAD_IC, GENERIC, \
+ V(KeyedLoadIC_IndexedInterceptor, KEYED_LOAD_IC, MONOMORPHIC, \
Code::kNoExtraICState) \
- V(KeyedLoadIC_NonStrictArguments, KEYED_LOAD_IC, GENERIC, \
+ V(KeyedLoadIC_NonStrictArguments, KEYED_LOAD_IC, MONOMORPHIC, \
Code::kNoExtraICState) \
\
V(StoreIC_Initialize, STORE_IC, UNINITIALIZED, \
kStrictMode) \
V(KeyedStoreIC_Generic_Strict, KEYED_STORE_IC, GENERIC, \
kStrictMode) \
- V(KeyedStoreIC_NonStrictArguments, KEYED_STORE_IC, GENERIC, \
+ V(KeyedStoreIC_NonStrictArguments, KEYED_STORE_IC, MONOMORPHIC, \
Code::kNoExtraICState) \
V(TransitionElementsSmiToDouble, BUILTIN, UNINITIALIZED, \
Code::kNoExtraICState) \
? *generic_stub_strict()
: *generic_stub());
break;
- case GENERIC:
case DEBUG_STUB:
break;
+ case GENERIC:
+ UNREACHABLE();
+ break;
}
}
break;
}
case MEGAMORPHIC:
- case GENERIC:
break;
case UNINITIALIZED:
case PREMONOMORPHIC:
case MONOMORPHIC_PROTOTYPE_FAILURE:
+ case GENERIC:
case DEBUG_STUB:
UNREACHABLE();
break;
return isolate()->stub_cache()->ComputeKeyedLoadElement(receiver_map);
}
- ASSERT(target() != *generic_stub());
+ ASSERT(ic_state != GENERIC);
// Determine the list of receiver maps that this call site has seen,
// adding the map that was just encountered.
monomorphic_map, stub_kind, strict_mode, grow_mode);
}
- ASSERT(target() != *generic_stub() && target() != *generic_stub_strict());
+ ASSERT(ic_state != GENERIC);
bool map_added =
AddOneReceiverMapIfMissing(&target_receiver_maps, receiver_map);
Handle<Object> object = GetInfo(ast_id);
if (object->IsUndefined() || object->IsSmi()) return;
- if (*object ==
- isolate_->builtins()->builtin(Builtins::kStoreIC_GlobalProxy)) {
+ if (object.is_identical_to(isolate_->builtins()->StoreIC_GlobalProxy())) {
// TODO(fschneider): We could collect the maps and signal that
// we need a generic store (or load) here.
ASSERT(Handle<Code>::cast(object)->ic_state() == GENERIC);