Index: src/arm/simulator-arm.h |
diff --git a/src/arm/simulator-arm.h b/src/arm/simulator-arm.h |
index 3917d6a5af1bc4c82b68be3e2b07c56cc60741b1..e877bdb8acecf90c0b8b1c7d0576a61055c05846 100644 |
--- a/src/arm/simulator-arm.h |
+++ b/src/arm/simulator-arm.h |
@@ -42,12 +42,11 @@ |
#define CALL_GENERATED_CODE(entry, p0, p1, p2, p3, p4) \ |
(entry(p0, p1, p2, p3, p4)) |
-// Calculated the stack limit beyond which we will throw stack overflow errors. |
-// This macro must be called from a C++ method. It relies on being able to take |
-// the address of "this" to get a value on the current execution stack and then |
-// calculates the stack limit based on that value. |
-#define GENERATED_CODE_STACK_LIMIT(limit) \ |
- (reinterpret_cast<uintptr_t>(this) - limit) |
+// The stack limit beyond which we will throw stack overflow errors in |
+// generated code. Because generated code on arm uses the C stack, we |
+// just use the C stack limit. |
+#define GENERATED_CODE_STACK_LIMIT(c_limit) \ |
+ (c_limit) |
// Call the generated regexp code directly. The entry function pointer should |
@@ -66,7 +65,7 @@ |
// The simulator has its own stack. Thus it has a different stack limit from |
// the C-based native code. |
-#define GENERATED_CODE_STACK_LIMIT(limit) \ |
+#define GENERATED_CODE_STACK_LIMIT(c_limit) \ |
(assembler::arm::Simulator::current()->StackLimit()) |