| 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 #include <stdarg.h> | 5 #include <stdarg.h> |
| 6 #include <stdlib.h> | 6 #include <stdlib.h> |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 | 8 |
| 9 #if V8_TARGET_ARCH_S390 | 9 #if V8_TARGET_ARCH_S390 |
| 10 | 10 |
| (...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 736 base::CallOnce(&once, &Simulator::EvalTableInit); | 736 base::CallOnce(&once, &Simulator::EvalTableInit); |
| 737 } | 737 } |
| 738 | 738 |
| 739 Simulator::EvaluateFuncType Simulator::EvalTable[] = {NULL}; | 739 Simulator::EvaluateFuncType Simulator::EvalTable[] = {NULL}; |
| 740 | 740 |
| 741 void Simulator::EvalTableInit() { | 741 void Simulator::EvalTableInit() { |
| 742 for (int i = 0; i < MAX_NUM_OPCODES; i++) { | 742 for (int i = 0; i < MAX_NUM_OPCODES; i++) { |
| 743 EvalTable[i] = &Simulator::Evaluate_Unknown; | 743 EvalTable[i] = &Simulator::Evaluate_Unknown; |
| 744 } | 744 } |
| 745 | 745 |
| 746 EvalTable[DUMY] = &Simulator::Evaluate_DUMY; |
| 746 EvalTable[BKPT] = &Simulator::Evaluate_BKPT; | 747 EvalTable[BKPT] = &Simulator::Evaluate_BKPT; |
| 747 EvalTable[SPM] = &Simulator::Evaluate_SPM; | 748 EvalTable[SPM] = &Simulator::Evaluate_SPM; |
| 748 EvalTable[BALR] = &Simulator::Evaluate_BALR; | 749 EvalTable[BALR] = &Simulator::Evaluate_BALR; |
| 749 EvalTable[BCTR] = &Simulator::Evaluate_BCTR; | 750 EvalTable[BCTR] = &Simulator::Evaluate_BCTR; |
| 750 EvalTable[BCR] = &Simulator::Evaluate_BCR; | 751 EvalTable[BCR] = &Simulator::Evaluate_BCR; |
| 751 EvalTable[SVC] = &Simulator::Evaluate_SVC; | 752 EvalTable[SVC] = &Simulator::Evaluate_SVC; |
| 752 EvalTable[BSM] = &Simulator::Evaluate_BSM; | 753 EvalTable[BSM] = &Simulator::Evaluate_BSM; |
| 753 EvalTable[BASSM] = &Simulator::Evaluate_BASSM; | 754 EvalTable[BASSM] = &Simulator::Evaluate_BASSM; |
| 754 EvalTable[BASR] = &Simulator::Evaluate_BASR; | 755 EvalTable[BASR] = &Simulator::Evaluate_BASR; |
| 755 EvalTable[MVCL] = &Simulator::Evaluate_MVCL; | 756 EvalTable[MVCL] = &Simulator::Evaluate_MVCL; |
| (...skipping 5295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6051 | 6052 |
| 6052 #define GET_ADDRESS(index_reg, base_reg, offset) \ | 6053 #define GET_ADDRESS(index_reg, base_reg, offset) \ |
| 6053 (((index_reg) == 0) ? 0 : get_register(index_reg)) + \ | 6054 (((index_reg) == 0) ? 0 : get_register(index_reg)) + \ |
| 6054 (((base_reg) == 0) ? 0 : get_register(base_reg)) + offset | 6055 (((base_reg) == 0) ? 0 : get_register(base_reg)) + offset |
| 6055 | 6056 |
| 6056 int Simulator::Evaluate_Unknown(Instruction* instr) { | 6057 int Simulator::Evaluate_Unknown(Instruction* instr) { |
| 6057 UNREACHABLE(); | 6058 UNREACHABLE(); |
| 6058 return 0; | 6059 return 0; |
| 6059 } | 6060 } |
| 6060 | 6061 |
| 6062 EVALUATE(DUMY) { |
| 6063 DCHECK_OPCODE(DUMY); |
| 6064 // dummy instruction does nothing. |
| 6065 return 6; |
| 6066 } |
| 6067 |
| 6061 EVALUATE(CLR) { | 6068 EVALUATE(CLR) { |
| 6062 DCHECK_OPCODE(CLR); | 6069 DCHECK_OPCODE(CLR); |
| 6063 DECODE_RR_INSTRUCTION(r1, r2); | 6070 DECODE_RR_INSTRUCTION(r1, r2); |
| 6064 uint32_t r1_val = get_low_register<uint32_t>(r1); | 6071 uint32_t r1_val = get_low_register<uint32_t>(r1); |
| 6065 uint32_t r2_val = get_low_register<uint32_t>(r2); | 6072 uint32_t r2_val = get_low_register<uint32_t>(r2); |
| 6066 SetS390ConditionCode<uint32_t>(r1_val, r2_val); | 6073 SetS390ConditionCode<uint32_t>(r1_val, r2_val); |
| 6067 return length; | 6074 return length; |
| 6068 } | 6075 } |
| 6069 | 6076 |
| 6070 EVALUATE(LR) { | 6077 EVALUATE(LR) { |
| (...skipping 6566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12637 return 0; | 12644 return 0; |
| 12638 } | 12645 } |
| 12639 | 12646 |
| 12640 #undef EVALUATE | 12647 #undef EVALUATE |
| 12641 | 12648 |
| 12642 } // namespace internal | 12649 } // namespace internal |
| 12643 } // namespace v8 | 12650 } // namespace v8 |
| 12644 | 12651 |
| 12645 #endif // USE_SIMULATOR | 12652 #endif // USE_SIMULATOR |
| 12646 #endif // V8_TARGET_ARCH_S390 | 12653 #endif // V8_TARGET_ARCH_S390 |
| OLD | NEW |