Index: src/arguments.h |
diff --git a/src/arguments.h b/src/arguments.h |
index b7137c3175a4f428e05748c33c7a59f4a5703feb..7e13d4b4f473dada28467677e35e0089ca1c3266 100644 |
--- a/src/arguments.h |
+++ b/src/arguments.h |
@@ -299,10 +299,10 @@ double ClobberDoubleRegisters(double x1, double x2, double x3, double x4); |
#endif |
-#define DECLARE_RUNTIME_FUNCTION(Type, Name) \ |
-Type Name(int args_length, Object** args_object, Isolate* isolate) |
+#define DECLARE_RUNTIME_FUNCTION(Name) \ |
+Object* Name(int args_length, Object** args_object, Isolate* isolate) |
-#define RUNTIME_FUNCTION(Type, Name) \ |
+#define RUNTIME_FUNCTION_RETURNS_TYPE(Type, Name) \ |
static Type __RT_impl_##Name(Arguments args, Isolate* isolate); \ |
Type Name(int args_length, Object** args_object, Isolate* isolate) { \ |
CLOBBER_DOUBLE_REGISTERS(); \ |
@@ -311,6 +311,11 @@ Type Name(int args_length, Object** args_object, Isolate* isolate) { \ |
} \ |
static Type __RT_impl_##Name(Arguments args, Isolate* isolate) |
+ |
+#define RUNTIME_FUNCTION(Name) RUNTIME_FUNCTION_RETURNS_TYPE(Object*, Name) |
+#define RUNTIME_FUNCTION_RETURN_PAIR(Name) \ |
+ RUNTIME_FUNCTION_RETURNS_TYPE(ObjectPair, Name) |
+ |
#define RUNTIME_ARGUMENTS(isolate, args) \ |
args.length(), args.arguments(), isolate |