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 | 5 |
6 // Declares a Simulator for PPC instructions if we are not generating a native | 6 // Declares a Simulator for PPC instructions if we are not generating a native |
7 // PPC binary. This Simulator allows us to run and debug PPC code generation on | 7 // PPC binary. This Simulator allows us to run and debug PPC code generation on |
8 // regular desktop machines. | 8 // regular desktop machines. |
9 // V8 calls into generated code by "calling" the CALL_GENERATED_CODE macro, | 9 // V8 calls into generated code by "calling" the CALL_GENERATED_CODE macro, |
10 // which will start execution in the Simulator or forwards to the real entry | 10 // which will start execution in the Simulator or forwards to the real entry |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 bool ExecuteExt2_10bit(Instruction* instr); | 314 bool ExecuteExt2_10bit(Instruction* instr); |
315 bool ExecuteExt2_9bit_part1(Instruction* instr); | 315 bool ExecuteExt2_9bit_part1(Instruction* instr); |
316 bool ExecuteExt2_9bit_part2(Instruction* instr); | 316 bool ExecuteExt2_9bit_part2(Instruction* instr); |
317 void ExecuteExt2_5bit(Instruction* instr); | 317 void ExecuteExt2_5bit(Instruction* instr); |
318 void ExecuteExt2(Instruction* instr); | 318 void ExecuteExt2(Instruction* instr); |
319 void ExecuteExt3(Instruction* instr); | 319 void ExecuteExt3(Instruction* instr); |
320 void ExecuteExt4(Instruction* instr); | 320 void ExecuteExt4(Instruction* instr); |
321 #if V8_TARGET_ARCH_PPC64 | 321 #if V8_TARGET_ARCH_PPC64 |
322 void ExecuteExt5(Instruction* instr); | 322 void ExecuteExt5(Instruction* instr); |
323 #endif | 323 #endif |
| 324 void ExecuteExt6(Instruction* instr); |
324 void ExecuteGeneric(Instruction* instr); | 325 void ExecuteGeneric(Instruction* instr); |
325 | 326 |
326 void SetFPSCR(int bit) { fp_condition_reg_ |= (1 << (31 - bit)); } | 327 void SetFPSCR(int bit) { fp_condition_reg_ |= (1 << (31 - bit)); } |
327 void ClearFPSCR(int bit) { fp_condition_reg_ &= ~(1 << (31 - bit)); } | 328 void ClearFPSCR(int bit) { fp_condition_reg_ &= ~(1 << (31 - bit)); } |
328 | 329 |
329 // Executes one instruction. | 330 // Executes one instruction. |
330 void ExecuteInstruction(Instruction* instr); | 331 void ExecuteInstruction(Instruction* instr); |
331 | 332 |
332 // ICache. | 333 // ICache. |
333 static void CheckICache(base::CustomMatcherHashMap* i_cache, | 334 static void CheckICache(base::CustomMatcherHashMap* i_cache, |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 | 435 |
435 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { | 436 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { |
436 Simulator::current(isolate)->PopAddress(); | 437 Simulator::current(isolate)->PopAddress(); |
437 } | 438 } |
438 }; | 439 }; |
439 } // namespace internal | 440 } // namespace internal |
440 } // namespace v8 | 441 } // namespace v8 |
441 | 442 |
442 #endif // !defined(USE_SIMULATOR) | 443 #endif // !defined(USE_SIMULATOR) |
443 #endif // V8_PPC_SIMULATOR_PPC_H_ | 444 #endif // V8_PPC_SIMULATOR_PPC_H_ |
OLD | NEW |