Index: src/code-factory.cc |
diff --git a/src/code-factory.cc b/src/code-factory.cc |
index c969c8f1c1b4c0f3ec0a52948a6078cd75099e73..ae94fd5e9269c3b8ea5e254ed8acbcd59c255d94 100644 |
--- a/src/code-factory.cc |
+++ b/src/code-factory.cc |
@@ -20,13 +20,35 @@ Callable CodeFactory::LoadIC(Isolate* isolate, ContextualMode mode) { |
// static |
+Callable CodeFactory::LoadICInOptimizedCode(Isolate* isolate, |
+ ContextualMode mode) { |
+ if (FLAG_vector_ics) { |
+ return Callable(LoadIC::initialize_stub_in_optimized_code( |
+ isolate, LoadICState(mode).GetExtraICState()), |
+ VectorLoadICDescriptor(isolate)); |
+ } |
+ return CodeFactory::LoadIC(isolate, mode); |
+} |
+ |
+ |
+// static |
Callable CodeFactory::KeyedLoadIC(Isolate* isolate) { |
- return Callable(isolate->builtins()->KeyedLoadIC_Initialize(), |
+ return Callable(KeyedLoadIC::initialize_stub(isolate), |
LoadDescriptor(isolate)); |
} |
// static |
+Callable CodeFactory::KeyedLoadICInOptimizedCode(Isolate* isolate) { |
+ if (FLAG_vector_ics) { |
+ return Callable(KeyedLoadIC::initialize_stub_in_optimized_code(isolate), |
+ VectorLoadICDescriptor(isolate)); |
+ } |
+ return CodeFactory::KeyedLoadIC(isolate); |
+} |
+ |
+ |
+// static |
Callable CodeFactory::StoreIC(Isolate* isolate, StrictMode mode) { |
return Callable(StoreIC::initialize_stub(isolate, mode), |
StoreDescriptor(isolate)); |