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 |