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 |
11 #include "src/allocation.h" | 11 #include "src/allocation.h" |
12 #include "src/arm64/assembler-arm64.h" | 12 #include "src/arm64/assembler-arm64.h" |
13 #include "src/arm64/decoder-arm64.h" | 13 #include "src/arm64/decoder-arm64.h" |
14 #include "src/arm64/disasm-arm64.h" | 14 #include "src/arm64/disasm-arm64.h" |
15 #include "src/arm64/instrument-arm64.h" | 15 #include "src/arm64/instrument-arm64.h" |
16 #include "src/assembler.h" | 16 #include "src/assembler.h" |
| 17 #include "src/base/compiler-specific.h" |
17 #include "src/globals.h" | 18 #include "src/globals.h" |
18 #include "src/utils.h" | 19 #include "src/utils.h" |
19 | 20 |
20 namespace v8 { | 21 namespace v8 { |
21 namespace internal { | 22 namespace internal { |
22 | 23 |
23 #if !defined(USE_SIMULATOR) | 24 #if !defined(USE_SIMULATOR) |
24 | 25 |
25 // Running without a simulator on a native ARM64 platform. | 26 // Running without a simulator on a native ARM64 platform. |
26 // When running without a simulator we call the entry directly. | 27 // When running without a simulator we call the entry directly. |
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
787 #endif | 788 #endif |
788 | 789 |
789 // Pseudo Printf instruction | 790 // Pseudo Printf instruction |
790 void DoPrintf(Instruction* instr); | 791 void DoPrintf(Instruction* instr); |
791 | 792 |
792 // Processor state --------------------------------------- | 793 // Processor state --------------------------------------- |
793 | 794 |
794 // Output stream. | 795 // Output stream. |
795 FILE* stream_; | 796 FILE* stream_; |
796 PrintDisassembler* print_disasm_; | 797 PrintDisassembler* print_disasm_; |
797 void PRINTF_METHOD_CHECKING TraceSim(const char* format, ...); | 798 void PRINTF_FORMAT(2, 3) TraceSim(const char* format, ...); |
798 | 799 |
799 // Instrumentation. | 800 // Instrumentation. |
800 Instrument* instrument_; | 801 Instrument* instrument_; |
801 | 802 |
802 // General purpose registers. Register 31 is the stack pointer. | 803 // General purpose registers. Register 31 is the stack pointer. |
803 SimRegister registers_[kNumberOfRegisters]; | 804 SimRegister registers_[kNumberOfRegisters]; |
804 | 805 |
805 // Floating point registers | 806 // Floating point registers |
806 SimFPRegister fpregisters_[kNumberOfFPRegisters]; | 807 SimFPRegister fpregisters_[kNumberOfFPRegisters]; |
807 | 808 |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
908 Simulator::current(isolate)->PopAddress(); | 909 Simulator::current(isolate)->PopAddress(); |
909 } | 910 } |
910 }; | 911 }; |
911 | 912 |
912 #endif // !defined(USE_SIMULATOR) | 913 #endif // !defined(USE_SIMULATOR) |
913 | 914 |
914 } // namespace internal | 915 } // namespace internal |
915 } // namespace v8 | 916 } // namespace v8 |
916 | 917 |
917 #endif // V8_ARM64_SIMULATOR_ARM64_H_ | 918 #endif // V8_ARM64_SIMULATOR_ARM64_H_ |
OLD | NEW |