Revision: 9058
Author: [email protected]
Date: Mon Aug 29 06:04:33 2011
Log: Fix for a possible bug in RegExp stack guard.
Review URL: http://codereview.chromium.org/7744051
http://code.google.com/p/v8/source/detail?r=9058
Modified:
/branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.cc
/branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc
/branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.cc
=======================================
--- /branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.cc Fri Aug
26 06:03:30 2011
+++ /branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.cc Mon Aug
29 06:04:33 2011
@@ -1049,7 +1049,7 @@
MaybeObject* result = Execution::HandleStackGuardInterrupt();
if (*code_handle != re_code) { // Return address no longer valid
- int delta = *code_handle - re_code;
+ int delta = code_handle->address() - re_code->address();
// Overwrite the return address on the stack.
*return_address += delta;
}
=======================================
--- /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc Fri Aug
26 06:03:30 2011
+++ /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc Mon Aug
29 06:04:33 2011
@@ -1080,7 +1080,7 @@
MaybeObject* result = Execution::HandleStackGuardInterrupt();
if (*code_handle != re_code) { // Return address no longer valid
- int delta = *code_handle - re_code;
+ int delta = code_handle->address() - re_code->address();
// Overwrite the return address on the stack.
*return_address += delta;
}
=======================================
--- /branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.cc Fri Aug
26 06:40:25 2011
+++ /branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.cc Mon Aug
29 06:04:33 2011
@@ -1185,7 +1185,7 @@
MaybeObject* result = Execution::HandleStackGuardInterrupt();
if (*code_handle != re_code) { // Return address no longer valid
- intptr_t delta = *code_handle - re_code;
+ intptr_t delta = code_handle->address() - re_code->address();
// Overwrite the return address on the stack.
*return_address += delta;
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev