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 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 int32_t fp_condition_reg_; | 344 int32_t fp_condition_reg_; |
345 intptr_t special_reg_lr_; | 345 intptr_t special_reg_lr_; |
346 intptr_t special_reg_pc_; | 346 intptr_t special_reg_pc_; |
347 intptr_t special_reg_ctr_; | 347 intptr_t special_reg_ctr_; |
348 int32_t special_reg_xer_; | 348 int32_t special_reg_xer_; |
349 | 349 |
350 int64_t fp_registers_[kNumFPRs]; | 350 int64_t fp_registers_[kNumFPRs]; |
351 | 351 |
352 // Simulator support. | 352 // Simulator support. |
353 char* stack_; | 353 char* stack_; |
| 354 static const size_t stack_protection_size_ = 256 * kPointerSize; |
354 bool pc_modified_; | 355 bool pc_modified_; |
355 int icount_; | 356 int icount_; |
356 | 357 |
357 // Debugger input. | 358 // Debugger input. |
358 char* last_debugger_input_; | 359 char* last_debugger_input_; |
359 | 360 |
360 // Icache simulation | 361 // Icache simulation |
361 v8::internal::HashMap* i_cache_; | 362 v8::internal::HashMap* i_cache_; |
362 | 363 |
363 // Registered breakpoints. | 364 // Registered breakpoints. |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 | 419 |
419 static inline void UnregisterCTryCatch() { | 420 static inline void UnregisterCTryCatch() { |
420 Simulator::current(Isolate::Current())->PopAddress(); | 421 Simulator::current(Isolate::Current())->PopAddress(); |
421 } | 422 } |
422 }; | 423 }; |
423 } | 424 } |
424 } // namespace v8::internal | 425 } // namespace v8::internal |
425 | 426 |
426 #endif // !defined(USE_SIMULATOR) | 427 #endif // !defined(USE_SIMULATOR) |
427 #endif // V8_PPC_SIMULATOR_PPC_H_ | 428 #endif // V8_PPC_SIMULATOR_PPC_H_ |
OLD | NEW |