| 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 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 ExecuteGeneric(Instruction* instr); | 324 void ExecuteGeneric(Instruction* instr); |
| 325 | 325 |
| 326 void SetFPSCR(int bit) { fp_condition_reg_ |= (1 << (31 - bit)); } |
| 327 void ClearFPSCR(int bit) { fp_condition_reg_ &= ~(1 << (31 - bit)); } |
| 328 |
| 326 // Executes one instruction. | 329 // Executes one instruction. |
| 327 void ExecuteInstruction(Instruction* instr); | 330 void ExecuteInstruction(Instruction* instr); |
| 328 | 331 |
| 329 // ICache. | 332 // ICache. |
| 330 static void CheckICache(v8::internal::HashMap* i_cache, Instruction* instr); | 333 static void CheckICache(v8::internal::HashMap* i_cache, Instruction* instr); |
| 331 static void FlushOnePage(v8::internal::HashMap* i_cache, intptr_t start, | 334 static void FlushOnePage(v8::internal::HashMap* i_cache, intptr_t start, |
| 332 int size); | 335 int size); |
| 333 static CachePage* GetCachePage(v8::internal::HashMap* i_cache, void* page); | 336 static CachePage* GetCachePage(v8::internal::HashMap* i_cache, void* page); |
| 334 | 337 |
| 335 // Runtime call support. | 338 // Runtime call support. |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 | 432 |
| 430 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { | 433 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { |
| 431 Simulator::current(isolate)->PopAddress(); | 434 Simulator::current(isolate)->PopAddress(); |
| 432 } | 435 } |
| 433 }; | 436 }; |
| 434 } // namespace internal | 437 } // namespace internal |
| 435 } // namespace v8 | 438 } // namespace v8 |
| 436 | 439 |
| 437 #endif // !defined(USE_SIMULATOR) | 440 #endif // !defined(USE_SIMULATOR) |
| 438 #endif // V8_PPC_SIMULATOR_PPC_H_ | 441 #endif // V8_PPC_SIMULATOR_PPC_H_ |
| OLD | NEW |