Index: src/arm/simulator-arm.h |
diff --git a/src/arm/simulator-arm.h b/src/arm/simulator-arm.h |
index 9c92c96830e4ae9a22e9011ff75127d9035a647c..f5ebf219cbf26260949137ac0f2319051eb2aee7 100644 |
--- a/src/arm/simulator-arm.h |
+++ b/src/arm/simulator-arm.h |
@@ -27,14 +27,18 @@ |
#define CALL_GENERATED_CODE(isolate, entry, p0, p1, p2, p3, p4) \ |
(entry(p0, p1, p2, p3, p4)) |
-typedef int (*arm_regexp_matcher)(String*, int, const byte*, const byte*, int*, |
- int, Address, int, Isolate*); |
+typedef int (*arm_regexp_matcher)(String*, int, const byte*, const byte*, |
+ void*, int*, int, Address, int, Isolate*); |
+ |
// Call the generated regexp code directly. The code at the entry address |
// should act as a function matching the type arm_regexp_matcher. |
+// The fifth argument is a dummy that reserves the space used for |
+// the return address added by the ExitFrame in native calls. |
#define CALL_GENERATED_REGEXP_CODE(isolate, entry, p0, p1, p2, p3, p4, p5, p6, \ |
p7, p8) \ |
- (FUNCTION_CAST<arm_regexp_matcher>(entry)(p0, p1, p2, p3, p4, p5, p6, p7, p8)) |
+ (FUNCTION_CAST<arm_regexp_matcher>(entry)(p0, p1, p2, p3, NULL, p4, p5, p6, \ |
+ p7, p8)) |
// The stack limit beyond which we will throw stack overflow errors in |
// generated code. Because generated code on arm uses the C stack, we |
@@ -545,8 +549,9 @@ |
#define CALL_GENERATED_REGEXP_CODE(isolate, entry, p0, p1, p2, p3, p4, p5, p6, \ |
p7, p8) \ |
- Simulator::current(isolate)->Call(entry, 9, p0, p1, p2, p3, p4, p5, p6, p7, \ |
- p8) |
+ Simulator::current(isolate) \ |
+ ->Call(entry, 10, p0, p1, p2, p3, NULL, p4, p5, p6, p7, p8) |
+ |
// The simulator has its own stack. Thus it has a different stack limit from |
// the C-based native code. The JS-based limit normally points near the end of |