| 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_)
 | 
| 
 |