| 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 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 int64_t value_; | 144 int64_t value_; |
| 145 }; | 145 }; |
| 146 | 146 |
| 147 | 147 |
| 148 typedef SimRegisterBase SimRegister; // r0-r31 | 148 typedef SimRegisterBase SimRegister; // r0-r31 |
| 149 typedef SimRegisterBase SimFPRegister; // v0-v31 | 149 typedef SimRegisterBase SimFPRegister; // v0-v31 |
| 150 | 150 |
| 151 | 151 |
| 152 class Simulator : public DecoderVisitor { | 152 class Simulator : public DecoderVisitor { |
| 153 public: | 153 public: |
| 154 static void FlushICache(base::HashMap* i_cache, void* start, size_t size) { | 154 static void FlushICache(base::CustomMatcherHashMap* i_cache, void* start, |
| 155 size_t size) { |
| 155 USE(i_cache); | 156 USE(i_cache); |
| 156 USE(start); | 157 USE(start); |
| 157 USE(size); | 158 USE(size); |
| 158 } | 159 } |
| 159 | 160 |
| 160 explicit Simulator(Decoder<DispatchingDecoderVisitor>* decoder, | 161 explicit Simulator(Decoder<DispatchingDecoderVisitor>* decoder, |
| 161 Isolate* isolate = NULL, | 162 Isolate* isolate = NULL, |
| 162 FILE* stream = stderr); | 163 FILE* stream = stderr); |
| 163 Simulator(); | 164 Simulator(); |
| 164 ~Simulator(); | 165 ~Simulator(); |
| 165 | 166 |
| 166 // System functions. | 167 // System functions. |
| 167 | 168 |
| 168 static void Initialize(Isolate* isolate); | 169 static void Initialize(Isolate* isolate); |
| 169 | 170 |
| 170 static void TearDown(base::HashMap* i_cache, Redirection* first); | 171 static void TearDown(base::CustomMatcherHashMap* i_cache, Redirection* first); |
| 171 | 172 |
| 172 static Simulator* current(v8::internal::Isolate* isolate); | 173 static Simulator* current(v8::internal::Isolate* isolate); |
| 173 | 174 |
| 174 class CallArgument; | 175 class CallArgument; |
| 175 | 176 |
| 176 // Call an arbitrary function taking an arbitrary number of arguments. The | 177 // Call an arbitrary function taking an arbitrary number of arguments. The |
| 177 // varargs list must be a set of arguments with type CallArgument, and | 178 // varargs list must be a set of arguments with type CallArgument, and |
| 178 // terminated by CallArgument::End(). | 179 // terminated by CallArgument::End(). |
| 179 void CallVoid(byte* entry, CallArgument* args); | 180 void CallVoid(byte* entry, CallArgument* args); |
| 180 | 181 |
| (...skipping 724 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 905 Simulator::current(isolate)->PopAddress(); | 906 Simulator::current(isolate)->PopAddress(); |
| 906 } | 907 } |
| 907 }; | 908 }; |
| 908 | 909 |
| 909 #endif // !defined(USE_SIMULATOR) | 910 #endif // !defined(USE_SIMULATOR) |
| 910 | 911 |
| 911 } // namespace internal | 912 } // namespace internal |
| 912 } // namespace v8 | 913 } // namespace v8 |
| 913 | 914 |
| 914 #endif // V8_ARM64_SIMULATOR_ARM64_H_ | 915 #endif // V8_ARM64_SIMULATOR_ARM64_H_ |
| OLD | NEW |