Index: src/regexp/s390/regexp-macro-assembler-s390.cc |
diff --git a/src/regexp/s390/regexp-macro-assembler-s390.cc b/src/regexp/s390/regexp-macro-assembler-s390.cc |
index 7b8ac8e24eb8e4175f2b53890c51044d5e726d5e..d927a110b9ea696cc54316d03160e76a6086e7b0 100644 |
--- a/src/regexp/s390/regexp-macro-assembler-s390.cc |
+++ b/src/regexp/s390/regexp-macro-assembler-s390.cc |
@@ -39,7 +39,8 @@ |
* Each call to a public method should retain this convention. |
* |
* The stack will have the following structure: |
- * - fp[108] Isolate* isolate (address of the current isolate) |
+ * - fp[112] Isolate* isolate (address of the current isolate) |
+ * - fp[108] secondary link/return address used by native call. |
* - fp[104] direct_call (if 1, direct call from JavaScript code, |
* if 0, call through the runtime system). |
* - fp[100] stack_area_base (high end of the memory area to use as |
@@ -82,13 +83,16 @@ |
* Address start, |
* Address end, |
* int* capture_output_array, |
- * int num_capture_registers, |
* byte* stack_area_base, |
- * bool direct_call = false, |
- * Isolate* isolate); |
+ * Address secondary_return_address, // Only used by native call. |
+ * bool direct_call = false) |
* The call is performed by NativeRegExpMacroAssembler::Execute() |
* (in regexp-macro-assembler.cc) via the CALL_GENERATED_REGEXP_CODE macro |
* in s390/simulator-s390.h. |
+ * When calling as a non-direct call (i.e., from C++ code), the return address |
+ * area is overwritten with the LR register by the RegExp code. When doing a |
+ * direct call from generated code, the return address is placed there by |
+ * the calling code, as in a normal exit frame. |
*/ |
#define __ ACCESS_MASM(masm_) |