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 |