| Index: src/regexp/ppc/regexp-macro-assembler-ppc.cc
 | 
| diff --git a/src/regexp/ppc/regexp-macro-assembler-ppc.cc b/src/regexp/ppc/regexp-macro-assembler-ppc.cc
 | 
| index 5c3f8d5e39f27fa98b6f4d93e53818ebc727c2a4..d6af025f2ed8f10d69a72e0d5ce6ccb757f13847 100644
 | 
| --- a/src/regexp/ppc/regexp-macro-assembler-ppc.cc
 | 
| +++ b/src/regexp/ppc/regexp-macro-assembler-ppc.cc
 | 
| @@ -38,7 +38,8 @@
 | 
|   * Each call to a public method should retain this convention.
 | 
|   *
 | 
|   * The stack will have the following structure:
 | 
| - *  - fp[40]  Isolate* isolate   (address of the current isolate)
 | 
| + *  - fp[44]  Isolate* isolate   (address of the current isolate)
 | 
| + *  - fp[40]  secondary link/return address used by native call.
 | 
|   *  - fp[36]  lr save area (currently unused)
 | 
|   *  - fp[32]  backchain    (currently unused)
 | 
|   *  --- sp when called ---
 | 
| @@ -80,13 +81,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 ppc/simulator-ppc.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_)
 | 
| 
 |