| Index: src/ppc/simulator-ppc.h
 | 
| diff --git a/src/ppc/simulator-ppc.h b/src/ppc/simulator-ppc.h
 | 
| index fe655ff582cdb6eefd8c3efd4c214505f24f8563..042b2ada2c6edf51d9489870c36395cf52f0a81c 100644
 | 
| --- a/src/ppc/simulator-ppc.h
 | 
| +++ b/src/ppc/simulator-ppc.h
 | 
| @@ -199,12 +199,12 @@ class Simulator {
 | 
|    void set_pc(intptr_t value);
 | 
|    intptr_t get_pc() const;
 | 
|  
 | 
| -  Address get_sp() {
 | 
| +  Address get_sp() const {
 | 
|      return reinterpret_cast<Address>(static_cast<intptr_t>(get_register(sp)));
 | 
|    }
 | 
|  
 | 
|    // Accessor to the internal simulator stack area.
 | 
| -  uintptr_t StackLimit() const;
 | 
| +  uintptr_t StackLimit(uintptr_t c_limit) const;
 | 
|  
 | 
|    // Executes PPC instructions until the PC reaches end_sim_pc.
 | 
|    void Execute();
 | 
| @@ -403,15 +403,14 @@ class Simulator {
 | 
|  
 | 
|  
 | 
|  // The simulator has its own stack. Thus it has a different stack limit from
 | 
| -// the C-based native code.  Setting the c_limit to indicate a very small
 | 
| -// stack cause stack overflow errors, since the simulator ignores the input.
 | 
| -// This is unlikely to be an issue in practice, though it might cause testing
 | 
| -// trouble down the line.
 | 
| +// the C-based native code.  The JS-based limit normally points near the end of
 | 
| +// the simulator stack.  When the C-based limit is exhausted we reflect that by
 | 
| +// lowering the JS-based limit as well, to make stack checks trigger.
 | 
|  class SimulatorStack : public v8::internal::AllStatic {
 | 
|   public:
 | 
|    static inline uintptr_t JsLimitFromCLimit(v8::internal::Isolate* isolate,
 | 
|                                              uintptr_t c_limit) {
 | 
| -    return Simulator::current(isolate)->StackLimit();
 | 
| +    return Simulator::current(isolate)->StackLimit(c_limit);
 | 
|    }
 | 
|  
 | 
|    static inline uintptr_t RegisterCTryCatch(uintptr_t try_catch_address) {
 | 
| 
 |