Index: src/stub-cache.h |
diff --git a/src/stub-cache.h b/src/stub-cache.h |
index 9cdd77f757b3182c3345d3788010d5231ee11416..a54d92d496c902215d17353c6b3422dd315a16a0 100644 |
--- a/src/stub-cache.h |
+++ b/src/stub-cache.h |
@@ -868,6 +868,13 @@ class KeyedStoreStubCompiler: public StoreStubCompiler { |
}; |
+// Subset of FUNCTIONS_WITH_ID_LIST with custom constant/global call |
+// IC stubs. |
+#define CUSTOM_CALL_IC_GENERATORS(V) \ |
+ V(ArrayPush) \ |
+ V(ArrayPop) |
+ |
+ |
class CallStubCompiler: public StubCompiler { |
public: |
CallStubCompiler(Isolate* isolate, |
@@ -934,6 +941,16 @@ class CallStubCompiler: public StubCompiler { |
Handle<String> name, |
Code::StubType type); |
+#define DECLARE_CALL_GENERATOR(name) \ |
+ Handle<Code> Compile##name##Call(Handle<Object> object, \ |
+ Handle<JSObject> holder, \ |
+ Handle<Cell> cell, \ |
+ Handle<JSFunction> function, \ |
+ Handle<String> fname, \ |
+ Code::StubType type); |
+ CUSTOM_CALL_IC_GENERATORS(DECLARE_CALL_GENERATOR) |
+#undef DECLARE_CALL_GENERATOR |
+ |
Handle<Code> CompileFastApiCall(const CallOptimization& optimization, |
Handle<Object> object, |
Handle<JSObject> holder, |