| 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 |