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