OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 // Declares a Simulator for S390 instructions if we are not generating a native | 5 // Declares a Simulator for S390 instructions if we are not generating a native |
6 // S390 binary. This Simulator allows us to run and debug S390 code generation | 6 // S390 binary. This Simulator allows us to run and debug S390 code generation |
7 // on regular desktop machines. | 7 // on regular desktop machines. |
8 // V8 calls into generated code by "calling" the CALL_GENERATED_CODE macro, | 8 // V8 calls into generated code by "calling" the CALL_GENERATED_CODE macro, |
9 // which will start execution in the Simulator or forwards to the real entry | 9 // which will start execution in the Simulator or forwards to the real entry |
10 // on a S390 hardware platform. | 10 // on a S390 hardware platform. |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 inline void WriteH(intptr_t addr, int16_t value, Instruction* instr); | 297 inline void WriteH(intptr_t addr, int16_t value, Instruction* instr); |
298 | 298 |
299 inline uint32_t ReadWU(intptr_t addr, Instruction* instr); | 299 inline uint32_t ReadWU(intptr_t addr, Instruction* instr); |
300 inline int32_t ReadW(intptr_t addr, Instruction* instr); | 300 inline int32_t ReadW(intptr_t addr, Instruction* instr); |
301 inline int64_t ReadW64(intptr_t addr, Instruction* instr); | 301 inline int64_t ReadW64(intptr_t addr, Instruction* instr); |
302 inline void WriteW(intptr_t addr, uint32_t value, Instruction* instr); | 302 inline void WriteW(intptr_t addr, uint32_t value, Instruction* instr); |
303 inline void WriteW(intptr_t addr, int32_t value, Instruction* instr); | 303 inline void WriteW(intptr_t addr, int32_t value, Instruction* instr); |
304 | 304 |
305 inline int64_t ReadDW(intptr_t addr); | 305 inline int64_t ReadDW(intptr_t addr); |
306 inline double ReadDouble(intptr_t addr); | 306 inline double ReadDouble(intptr_t addr); |
| 307 inline float ReadFloat(intptr_t addr); |
307 inline void WriteDW(intptr_t addr, int64_t value); | 308 inline void WriteDW(intptr_t addr, int64_t value); |
308 | 309 |
309 // S390 | 310 // S390 |
310 void Trace(Instruction* instr); | 311 void Trace(Instruction* instr); |
311 bool DecodeTwoByte(Instruction* instr); | 312 bool DecodeTwoByte(Instruction* instr); |
312 bool DecodeFourByte(Instruction* instr); | 313 bool DecodeFourByte(Instruction* instr); |
313 bool DecodeFourByteArithmetic(Instruction* instr); | 314 bool DecodeFourByteArithmetic(Instruction* instr); |
314 bool DecodeFourByteArithmetic64Bit(Instruction* instr); | 315 bool DecodeFourByteArithmetic64Bit(Instruction* instr); |
315 bool DecodeFourByteFloatingPoint(Instruction* instr); | 316 bool DecodeFourByteFloatingPoint(Instruction* instr); |
316 void DecodeFourByteFloatingPointIntConversion(Instruction* instr); | 317 void DecodeFourByteFloatingPointIntConversion(Instruction* instr); |
(...skipping 973 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1290 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { | 1291 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { |
1291 Simulator::current(isolate)->PopAddress(); | 1292 Simulator::current(isolate)->PopAddress(); |
1292 } | 1293 } |
1293 }; | 1294 }; |
1294 | 1295 |
1295 } // namespace internal | 1296 } // namespace internal |
1296 } // namespace v8 | 1297 } // namespace v8 |
1297 | 1298 |
1298 #endif // !defined(USE_SIMULATOR) | 1299 #endif // !defined(USE_SIMULATOR) |
1299 #endif // V8_S390_SIMULATOR_S390_H_ | 1300 #endif // V8_S390_SIMULATOR_S390_H_ |
OLD | NEW |