Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Unified Diff: src/ic/handler-compiler.cc

Issue 2412983008: [ic] Move Smi-handler creation code to SmiHandler class. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/field-index-inl.h ('k') | src/ic/handler-configuration.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « src/field-index-inl.h ('k') | src/ic/handler-configuration.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698