Index: src/code-factory.cc |
diff --git a/src/code-factory.cc b/src/code-factory.cc |
index 862a8189a3595e59203746baaff115c29f16eae6..0fb5c108dc18f0dc879c262a0deee61c1b3c6636 100644 |
--- a/src/code-factory.cc |
+++ b/src/code-factory.cc |
@@ -49,6 +49,10 @@ Callable CodeFactory::LoadGlobalICInOptimizedCode(Isolate* isolate, |
// static |
Callable CodeFactory::KeyedLoadIC(Isolate* isolate) { |
+ if (FLAG_tf_load_ic_stub) { |
+ KeyedLoadICTrampolineTFStub stub(isolate); |
+ return Callable(stub.GetCode(), LoadDescriptor(isolate)); |
+ } |
KeyedLoadICTrampolineStub stub(isolate); |
return Callable(stub.GetCode(), LoadDescriptor(isolate)); |
} |
@@ -56,11 +60,15 @@ Callable CodeFactory::KeyedLoadIC(Isolate* isolate) { |
// static |
Callable CodeFactory::KeyedLoadICInOptimizedCode(Isolate* isolate) { |
- auto code = |
- KeyedLoadIC::initialize_stub_in_optimized_code(isolate, kNoExtraICState); |
+ auto code = KeyedLoadIC::initialize_stub_in_optimized_code(isolate); |
return Callable(code, LoadWithVectorDescriptor(isolate)); |
} |
+// static |
+Callable CodeFactory::KeyedLoadIC_Megamorphic(Isolate* isolate) { |
+ return Callable(isolate->builtins()->KeyedLoadIC_Megamorphic(), |
+ LoadWithVectorDescriptor(isolate)); |
+} |
// static |
Callable CodeFactory::CallIC(Isolate* isolate, int argc, |