| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_ARM64_SIMULATOR_ARM64_H_ | 5 #ifndef V8_ARM64_SIMULATOR_ARM64_H_ |
| 6 #define V8_ARM64_SIMULATOR_ARM64_H_ | 6 #define V8_ARM64_SIMULATOR_ARM64_H_ |
| 7 | 7 |
| 8 #include <stdarg.h> | 8 #include <stdarg.h> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 uintptr_t PushAddress(uintptr_t address); | 266 uintptr_t PushAddress(uintptr_t address); |
| 267 | 267 |
| 268 // Pop an address from the JS stack. | 268 // Pop an address from the JS stack. |
| 269 uintptr_t PopAddress(); | 269 uintptr_t PopAddress(); |
| 270 | 270 |
| 271 // Accessor to the internal simulator stack area. | 271 // Accessor to the internal simulator stack area. |
| 272 uintptr_t StackLimit(uintptr_t c_limit) const; | 272 uintptr_t StackLimit(uintptr_t c_limit) const; |
| 273 | 273 |
| 274 void ResetState(); | 274 void ResetState(); |
| 275 | 275 |
| 276 // Runtime call support. | 276 // Runtime call support. Uses the isolate in a thread-safe way. |
| 277 static void* RedirectExternalReference(Isolate* isolate, | 277 static void* RedirectExternalReference(Isolate* isolate, |
| 278 void* external_function, | 278 void* external_function, |
| 279 ExternalReference::Type type); | 279 ExternalReference::Type type); |
| 280 void DoRuntimeCall(Instruction* instr); | 280 void DoRuntimeCall(Instruction* instr); |
| 281 | 281 |
| 282 // Run the simulator. | 282 // Run the simulator. |
| 283 static const Instruction* kEndOfSimAddress; | 283 static const Instruction* kEndOfSimAddress; |
| 284 void DecodeInstruction(); | 284 void DecodeInstruction(); |
| 285 void Run(); | 285 void Run(); |
| 286 void RunFrom(Instruction* start); | 286 void RunFrom(Instruction* start); |
| (...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 992 Simulator::current(isolate)->PopAddress(); | 992 Simulator::current(isolate)->PopAddress(); |
| 993 } | 993 } |
| 994 }; | 994 }; |
| 995 | 995 |
| 996 #endif // !defined(USE_SIMULATOR) | 996 #endif // !defined(USE_SIMULATOR) |
| 997 | 997 |
| 998 } // namespace internal | 998 } // namespace internal |
| 999 } // namespace v8 | 999 } // namespace v8 |
| 1000 | 1000 |
| 1001 #endif // V8_ARM64_SIMULATOR_ARM64_H_ | 1001 #endif // V8_ARM64_SIMULATOR_ARM64_H_ |
| OLD | NEW |