Index: src/ic/handler-compiler.cc |
diff --git a/src/ic/handler-compiler.cc b/src/ic/handler-compiler.cc |
index b6b81def540278a1a2fa89c337d6f2dc1c1c1396..e79a771c5dc303f4f11122ccee59a285fde1fb5f 100644 |
--- a/src/ic/handler-compiler.cc |
+++ b/src/ic/handler-compiler.cc |
@@ -601,13 +601,21 @@ Handle<Object> ElementHandlerCompiler::GetKeyedLoadHandler( |
TRACE_HANDLER_STATS(isolate, KeyedLoadIC_KeyedLoadSloppyArgumentsStub); |
return KeyedLoadSloppyArgumentsStub(isolate).GetCode(); |
} |
+ bool is_js_array = instance_type == JS_ARRAY_TYPE; |
if (elements_kind == DICTIONARY_ELEMENTS) { |
+ if (FLAG_tf_load_ic_stub) { |
+ int config = KeyedLoadElementsKind::encode(elements_kind) | |
+ KeyedLoadConvertHole::encode(false) | |
+ KeyedLoadIsJsArray::encode(is_js_array) | |
+ LoadHandlerTypeBit::encode(kLoadICHandlerForElements); |
+ return handle(Smi::FromInt(config), isolate); |
+ } |
TRACE_HANDLER_STATS(isolate, KeyedLoadIC_LoadDictionaryElementStub); |
return LoadDictionaryElementStub(isolate).GetCode(); |
} |
DCHECK(IsFastElementsKind(elements_kind) || |
IsFixedTypedArrayElementsKind(elements_kind)); |
- bool is_js_array = instance_type == JS_ARRAY_TYPE; |
+ // TODO(jkummerow): Use IsHoleyElementsKind(elements_kind). |
bool convert_hole_to_undefined = |
is_js_array && elements_kind == FAST_HOLEY_ELEMENTS && |
*receiver_map == isolate->get_initial_js_array_map(elements_kind); |