Index: src/ppc/simulator-ppc.h |
diff --git a/src/ppc/simulator-ppc.h b/src/ppc/simulator-ppc.h |
index c91304e554d0e9d89496c4bb6d748518e7f9c687..0c23b04a37964dd8c3051cbd3082951c3af82391 100644 |
--- a/src/ppc/simulator-ppc.h |
+++ b/src/ppc/simulator-ppc.h |
@@ -26,13 +26,17 @@ |
(entry(p0, p1, p2, p3, p4)) |
typedef int (*ppc_regexp_matcher)(String*, int, const byte*, const byte*, int*, |
- int, Address, int, Isolate*); |
+ int, Address, int, void*, Isolate*); |
+ |
// Call the generated regexp code directly. The code at the entry address |
// should act as a function matching the type ppc_regexp_matcher. |
+// The ninth 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<ppc_regexp_matcher>(entry)(p0, p1, p2, p3, p4, p5, p6, p7, p8)) |
+ (FUNCTION_CAST<ppc_regexp_matcher>(entry)(p0, p1, p2, p3, p4, p5, p6, p7, \ |
+ NULL, p8)) |
// The stack limit beyond which we will throw stack overflow errors in |
// generated code. Because generated code on ppc uses the C stack, we |
@@ -491,9 +495,11 @@ |
#define CALL_GENERATED_REGEXP_CODE(isolate, entry, p0, p1, p2, p3, p4, p5, p6, \ |
p7, p8) \ |
- Simulator::current(isolate)->Call( \ |
- entry, 9, (intptr_t)p0, (intptr_t)p1, (intptr_t)p2, (intptr_t)p3, \ |
- (intptr_t)p4, (intptr_t)p5, (intptr_t)p6, (intptr_t)p7, (intptr_t)p8) |
+ Simulator::current(isolate)->Call(entry, 10, (intptr_t)p0, (intptr_t)p1, \ |
+ (intptr_t)p2, (intptr_t)p3, (intptr_t)p4, \ |
+ (intptr_t)p5, (intptr_t)p6, (intptr_t)p7, \ |
+ (intptr_t)NULL, (intptr_t)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 |