| Index: src/ic/handler-compiler.cc
|
| diff --git a/src/ic/handler-compiler.cc b/src/ic/handler-compiler.cc
|
| index 3b2e115b4f4a1c02bddd0e16bbb65ffae0d44c13..f76764a1752fca67e28e4cecea502951a9021dd7 100644
|
| --- a/src/ic/handler-compiler.cc
|
| +++ b/src/ic/handler-compiler.cc
|
| @@ -6,7 +6,7 @@
|
|
|
| #include "src/field-type.h"
|
| #include "src/ic/call-optimization.h"
|
| -#include "src/ic/handler-configuration.h"
|
| +#include "src/ic/handler-configuration-inl.h"
|
| #include "src/ic/ic-inl.h"
|
| #include "src/ic/ic.h"
|
| #include "src/isolate-inl.h"
|
| @@ -633,11 +633,9 @@ Handle<Object> ElementHandlerCompiler::GetKeyedLoadHandler(
|
| 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_LoadElementDH);
|
| + return SmiHandler::MakeKeyedLoadHandler(isolate, elements_kind, false,
|
| + is_js_array);
|
| }
|
| TRACE_HANDLER_STATS(isolate, KeyedLoadIC_LoadDictionaryElementStub);
|
| return LoadDictionaryElementStub(isolate).GetCode();
|
| @@ -649,11 +647,9 @@ Handle<Object> ElementHandlerCompiler::GetKeyedLoadHandler(
|
| is_js_array && elements_kind == FAST_HOLEY_ELEMENTS &&
|
| *receiver_map == isolate->get_initial_js_array_map(elements_kind);
|
| if (FLAG_tf_load_ic_stub) {
|
| - int config = KeyedLoadElementsKind::encode(elements_kind) |
|
| - KeyedLoadConvertHole::encode(convert_hole_to_undefined) |
|
| - KeyedLoadIsJsArray::encode(is_js_array) |
|
| - LoadHandlerTypeBit::encode(kLoadICHandlerForElements);
|
| - return handle(Smi::FromInt(config), isolate);
|
| + TRACE_HANDLER_STATS(isolate, KeyedLoadIC_LoadElementDH);
|
| + return SmiHandler::MakeKeyedLoadHandler(
|
| + isolate, elements_kind, convert_hole_to_undefined, is_js_array);
|
| } else {
|
| TRACE_HANDLER_STATS(isolate, KeyedLoadIC_LoadFastElementStub);
|
| return LoadFastElementStub(isolate, is_js_array, elements_kind,
|
|
|