Index: src/arm64/simulator-arm64.h |
diff --git a/src/arm64/simulator-arm64.h b/src/arm64/simulator-arm64.h |
index e700b4c944dce1742aa4fb6f4bdf427d378c61c2..3016e616e4df8b8d1c41bba8df303f8a0c851125 100644 |
--- a/src/arm64/simulator-arm64.h |
+++ b/src/arm64/simulator-arm64.h |
@@ -41,10 +41,12 @@ |
// Call the generated regexp code directly. The code at the entry address |
// should act as a function matching the type arm64_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<arm64_regexp_matcher>(entry)(p0, p1, p2, p3, p4, p5, p6, p7, \ |
- p8)) |
+ NULL, p8)) |
// Running without a simulator there is nothing to do. |
class SimulatorStack : public v8::internal::AllStatic { |
@@ -199,6 +201,7 @@ |
int64_t output_size, |
Address stack_base, |
int64_t direct_call, |
+ void* return_address, |
Isolate* isolate); |
// A wrapper class that stores an argument for one of the above Call |
@@ -970,7 +973,8 @@ |
#define CALL_GENERATED_REGEXP_CODE(isolate, entry, p0, p1, p2, p3, p4, p5, p6, \ |
p7, p8) \ |
static_cast<int>(Simulator::current(isolate)->CallRegExp( \ |
- entry, p0, p1, p2, p3, p4, p5, p6, p7, p8)) |
+ entry, p0, p1, p2, p3, p4, p5, p6, p7, NULL, 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 |