| OLD | NEW | 
|    1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file |    1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
|    2 // for details. All rights reserved. Use of this source code is governed by a |    2 // for details. All rights reserved. Use of this source code is governed by a | 
|    3 // BSD-style license that can be found in the LICENSE file. |    3 // BSD-style license that can be found in the LICENSE file. | 
|    4  |    4  | 
|    5 // Declares a Simulator for MIPS instructions if we are not generating a native |    5 // Declares a Simulator for MIPS instructions if we are not generating a native | 
|    6 // MIPS binary. This Simulator allows us to run and debug MIPS code generation |    6 // MIPS binary. This Simulator allows us to run and debug MIPS code generation | 
|    7 // on regular desktop machines. |    7 // on regular desktop machines. | 
|    8 // Dart calls into generated code by "calling" the InvokeDartCode stub, |    8 // Dart calls into generated code by "calling" the InvokeDartCode stub, | 
|    9 // which will start execution in the Simulator or forwards to the real entry |    9 // which will start execution in the Simulator or forwards to the real entry | 
|   10 // on a MIPS HW platform. |   10 // on a MIPS HW platform. | 
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  134                                          CallKind call_kind, |  134                                          CallKind call_kind, | 
|  135                                          int argument_count); |  135                                          int argument_count); | 
|  136  |  136  | 
|  137   static uword FunctionForRedirect(uword redirect); |  137   static uword FunctionForRedirect(uword redirect); | 
|  138  |  138  | 
|  139   void Longjmp(uword pc, |  139   void Longjmp(uword pc, | 
|  140                uword sp, |  140                uword sp, | 
|  141                uword fp, |  141                uword fp, | 
|  142                RawObject* raw_exception, |  142                RawObject* raw_exception, | 
|  143                RawObject* raw_stacktrace, |  143                RawObject* raw_stacktrace, | 
|  144                Isolate* isolate); |  144                Thread* thread); | 
|  145  |  145  | 
|  146  private: |  146  private: | 
|  147   // A pc value used to signal the simulator to stop execution.  Generally |  147   // A pc value used to signal the simulator to stop execution.  Generally | 
|  148   // the ra is set to this value on transition from native C code to |  148   // the ra is set to this value on transition from native C code to | 
|  149   // simulated execution, so that the simulator can "return" to the native |  149   // simulated execution, so that the simulator can "return" to the native | 
|  150   // C code. |  150   // C code. | 
|  151   static const uword kEndSimulatingPC = -1; |  151   static const uword kEndSimulatingPC = -1; | 
|  152  |  152  | 
|  153   // Special registers for the results of div, divu. |  153   // Special registers for the results of div, divu. | 
|  154   int32_t hi_reg_; |  154   int32_t hi_reg_; | 
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  254   } |  254   } | 
|  255  |  255  | 
|  256   friend class SimulatorDebugger; |  256   friend class SimulatorDebugger; | 
|  257   friend class SimulatorSetjmpBuffer; |  257   friend class SimulatorSetjmpBuffer; | 
|  258   DISALLOW_COPY_AND_ASSIGN(Simulator); |  258   DISALLOW_COPY_AND_ASSIGN(Simulator); | 
|  259 }; |  259 }; | 
|  260  |  260  | 
|  261 }  // namespace dart |  261 }  // namespace dart | 
|  262  |  262  | 
|  263 #endif  // VM_SIMULATOR_MIPS_H_ |  263 #endif  // VM_SIMULATOR_MIPS_H_ | 
| OLD | NEW |