// static
-Handle<Code> KeyedLoadIC::megamorphic_stub(Isolate* isolate) {
+Handle<Code> KeyedLoadIC::ChooseMegamorphicStub(Isolate* isolate) {
if (FLAG_compiled_keyed_generic_loads) {
return KeyedLoadGenericStub(isolate).GetCode();
} else {
if (UseVector()) {
ConfigureVectorState(GENERIC);
} else {
- set_target(*KeyedLoadIC::megamorphic_stub(isolate()));
+ set_target(*megamorphic_stub());
}
TRACE_IC("LoadIC", name);
TRACE_GENERIC_IC(isolate(), "LoadIC", "name as array index");
return stub.GetCode();
} else {
DCHECK_EQ(Code::KEYED_LOAD_IC, kind());
- return KeyedLoadIC::megamorphic_stub(isolate());
+ return KeyedLoadIC::ChooseMegamorphicStub(isolate());
}
}
// If the miss wasn't due to an unseen map, a polymorphic stub
// won't help, use the generic stub.
TRACE_GENERIC_IC(isolate(), "KeyedLoadIC", "same map added twice");
- return megamorphic_stub(isolate());
+ return megamorphic_stub();
}
// If the maximum number of receiver maps has been exceeded, use the generic
// version of the IC.
if (target_receiver_maps.length() > kMaxKeyedPolymorphism) {
TRACE_GENERIC_IC(isolate(), "KeyedLoadIC", "max polymorph exceeded");
- return megamorphic_stub(isolate());
+ return megamorphic_stub();
}
if (FLAG_vector_ics) {
}
Handle<Object> load_handle;
- Handle<Code> stub = megamorphic_stub(isolate());
+ Handle<Code> stub = megamorphic_stub();
// Check for non-string values that can be converted into an
// internalized string directly or is representable as a smi.
if (!UseVector()) {
if (!is_target_set()) {
- Code* generic = *megamorphic_stub(isolate());
+ Code* generic = *megamorphic_stub();
if (*stub == generic) {
TRACE_GENERIC_IC(isolate(), "KeyedLoadIC", "set generic");
}
}
} else {
if (!is_vector_set() || stub.is_null()) {
- Code* generic = *megamorphic_stub(isolate());
+ Code* generic = *megamorphic_stub();
if (!stub.is_null() && *stub == generic) {
ConfigureVectorState(GENERIC);
TRACE_GENERIC_IC(isolate(), "KeyedLoadIC", "set generic");
static Handle<Code> initialize_stub(Isolate* isolate);
static Handle<Code> initialize_stub_in_optimized_code(Isolate* isolate);
- static Handle<Code> megamorphic_stub(Isolate* isolate);
+ static Handle<Code> ChooseMegamorphicStub(Isolate* isolate);
static Handle<Code> pre_monomorphic_stub(Isolate* isolate);
static void Clear(Isolate* isolate, Code* host, KeyedLoadICNexus* nexus);