Index: src/builtins.h |
diff --git a/src/builtins.h b/src/builtins.h |
index 234803569ae48f31e907a7f4ad7b7a6c3b3f2863..6575d677405d273c36472fa1fca9f73cda913bbb 100644 |
--- a/src/builtins.h |
+++ b/src/builtins.h |
@@ -253,7 +253,6 @@ inline bool operator&(BuiltinExtraArguments lhs, BuiltinExtraArguments rhs) { |
V(InterpreterPushArgsAndConstruct, BUILTIN, kNoExtraICState) \ |
V(InterpreterEnterBytecodeDispatch, BUILTIN, kNoExtraICState) \ |
\ |
- V(LoadIC_Miss, BUILTIN, kNoExtraICState) \ |
V(KeyedLoadIC_Miss, BUILTIN, kNoExtraICState) \ |
V(StoreIC_Miss, BUILTIN, kNoExtraICState) \ |
V(KeyedStoreIC_Miss, BUILTIN, kNoExtraICState) \ |
@@ -339,9 +338,13 @@ inline bool operator&(BuiltinExtraArguments lhs, BuiltinExtraArguments rhs) { |
V(AtomicsLoad, 3) \ |
V(AtomicsStore, 4) |
+// Define list of builtins implemented in TurboFan (with CallStub linkage). |
+#define BUILTIN_LIST_S(V) \ |
+ V(LoadIC_Miss, BUILTIN, kNoExtraICState, LoadWithVector) \ |
+ V(LoadIC_Slow, HANDLER, Code::LOAD_IC, LoadWithVector) |
+ |
// Define list of builtin handlers implemented in assembly. |
#define BUILTIN_LIST_H(V) \ |
- V(LoadIC_Slow, LOAD_IC) \ |
V(KeyedLoadIC_Slow, KEYED_LOAD_IC) \ |
V(StoreIC_Slow, STORE_IC) \ |
V(KeyedStoreIC_Slow, KEYED_STORE_IC) \ |
@@ -377,13 +380,15 @@ class Builtins { |
#define DEF_ENUM_C(name, ignore) k##name, |
#define DEF_ENUM_A(name, kind, extra) k##name, |
#define DEF_ENUM_T(name, argc) k##name, |
+#define DEF_ENUM_S(name, kind, extra, interface_descriptor) k##name, |
#define DEF_ENUM_H(name, kind) k##name, |
BUILTIN_LIST_C(DEF_ENUM_C) BUILTIN_LIST_A(DEF_ENUM_A) |
- BUILTIN_LIST_T(DEF_ENUM_T) BUILTIN_LIST_H(DEF_ENUM_H) |
- BUILTIN_LIST_DEBUG_A(DEF_ENUM_A) |
+ BUILTIN_LIST_T(DEF_ENUM_T) BUILTIN_LIST_S(DEF_ENUM_S) |
+ BUILTIN_LIST_H(DEF_ENUM_H) BUILTIN_LIST_DEBUG_A(DEF_ENUM_A) |
#undef DEF_ENUM_C |
#undef DEF_ENUM_A |
#undef DEF_ENUM_T |
+#undef DEF_ENUM_S |
#undef DEF_ENUM_H |
builtin_count |
}; |
@@ -398,15 +403,19 @@ class Builtins { |
#define DECLARE_BUILTIN_ACCESSOR_C(name, ignore) Handle<Code> name(); |
#define DECLARE_BUILTIN_ACCESSOR_A(name, kind, extra) Handle<Code> name(); |
#define DECLARE_BUILTIN_ACCESSOR_T(name, argc) Handle<Code> name(); |
+#define DECLARE_BUILTIN_ACCESSOR_S(name, kind, extra, interface_descriptor) \ |
+ Handle<Code> name(); |
#define DECLARE_BUILTIN_ACCESSOR_H(name, kind) Handle<Code> name(); |
BUILTIN_LIST_C(DECLARE_BUILTIN_ACCESSOR_C) |
BUILTIN_LIST_A(DECLARE_BUILTIN_ACCESSOR_A) |
BUILTIN_LIST_T(DECLARE_BUILTIN_ACCESSOR_T) |
+ BUILTIN_LIST_S(DECLARE_BUILTIN_ACCESSOR_S) |
BUILTIN_LIST_H(DECLARE_BUILTIN_ACCESSOR_H) |
BUILTIN_LIST_DEBUG_A(DECLARE_BUILTIN_ACCESSOR_A) |
#undef DECLARE_BUILTIN_ACCESSOR_C |
#undef DECLARE_BUILTIN_ACCESSOR_A |
#undef DECLARE_BUILTIN_ACCESSOR_T |
+#undef DECLARE_BUILTIN_ACCESSOR_S |
#undef DECLARE_BUILTIN_ACCESSOR_H |
// Convenience wrappers. |