| 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 7819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7830 | 7830 |
| 7831 EVALUATE(LARL) { | 7831 EVALUATE(LARL) { |
| 7832 DCHECK_OPCODE(LARL); | 7832 DCHECK_OPCODE(LARL); |
| 7833 DECODE_RIL_B_INSTRUCTION(r1, i2); | 7833 DECODE_RIL_B_INSTRUCTION(r1, i2); |
| 7834 intptr_t offset = i2 * 2; | 7834 intptr_t offset = i2 * 2; |
| 7835 set_register(r1, get_pc() + offset); | 7835 set_register(r1, get_pc() + offset); |
| 7836 return length; | 7836 return length; |
| 7837 } | 7837 } |
| 7838 | 7838 |
| 7839 EVALUATE(LGFI) { | 7839 EVALUATE(LGFI) { |
| 7840 UNIMPLEMENTED(); | 7840 DCHECK_OPCODE(LGFI); |
| 7841 USE(instr); | 7841 DECODE_RIL_A_INSTRUCTION(r1, imm); |
| 7842 return 0; | 7842 set_register(r1, static_cast<int64_t>(static_cast<int32_t>(imm))); |
| 7843 return length; |
| 7843 } | 7844 } |
| 7844 | 7845 |
| 7845 EVALUATE(BRASL) { | 7846 EVALUATE(BRASL) { |
| 7846 DCHECK_OPCODE(BRASL); | 7847 DCHECK_OPCODE(BRASL); |
| 7847 // Branch and Save Relative Long | 7848 // Branch and Save Relative Long |
| 7848 DECODE_RIL_B_INSTRUCTION(r1, i2); | 7849 DECODE_RIL_B_INSTRUCTION(r1, i2); |
| 7849 intptr_t d2 = i2; | 7850 intptr_t d2 = i2; |
| 7850 intptr_t pc = get_pc(); | 7851 intptr_t pc = get_pc(); |
| 7851 set_register(r1, pc + 6); // save next instruction to register | 7852 set_register(r1, pc + 6); // save next instruction to register |
| 7852 set_pc(pc + d2 * 2); // update register | 7853 set_pc(pc + d2 * 2); // update register |
| (...skipping 2639 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10492 r1_val_ptr[i] = __builtin_popcount(x); | 10493 r1_val_ptr[i] = __builtin_popcount(x); |
| 10493 #else | 10494 #else |
| 10494 #error unsupport __builtin_popcount | 10495 #error unsupport __builtin_popcount |
| 10495 #endif | 10496 #endif |
| 10496 } | 10497 } |
| 10497 set_register(r1, static_cast<uint64_t>(r1_val)); | 10498 set_register(r1, static_cast<uint64_t>(r1_val)); |
| 10498 return length; | 10499 return length; |
| 10499 } | 10500 } |
| 10500 | 10501 |
| 10501 EVALUATE(LOCGR) { | 10502 EVALUATE(LOCGR) { |
| 10502 DCHECK_OPCODE(LOCR); | 10503 DCHECK_OPCODE(LOCGR); |
| 10503 DECODE_RRF_C_INSTRUCTION(r1, r2, m3); | 10504 DECODE_RRF_C_INSTRUCTION(r1, r2, m3); |
| 10504 if (TestConditionCode(m3)) { | 10505 if (TestConditionCode(m3)) { |
| 10505 set_register(r1, get_register(r2)); | 10506 set_register(r1, get_register(r2)); |
| 10506 } | 10507 } |
| 10507 return length; | 10508 return length; |
| 10508 } | 10509 } |
| 10509 | 10510 |
| 10510 EVALUATE(NGRK) { | 10511 EVALUATE(NGRK) { |
| 10511 DCHECK_OPCODE(NGRK); | 10512 DCHECK_OPCODE(NGRK); |
| 10512 DECODE_RRF_A_INSTRUCTION(r1, r2, r3); | 10513 DECODE_RRF_A_INSTRUCTION(r1, r2, r3); |
| (...skipping 2084 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12597 return 0; | 12598 return 0; |
| 12598 } | 12599 } |
| 12599 | 12600 |
| 12600 #undef EVALUATE | 12601 #undef EVALUATE |
| 12601 | 12602 |
| 12602 } // namespace internal | 12603 } // namespace internal |
| 12603 } // namespace v8 | 12604 } // namespace v8 |
| 12604 | 12605 |
| 12605 #endif // USE_SIMULATOR | 12606 #endif // USE_SIMULATOR |
| 12606 #endif // V8_TARGET_ARCH_S390 | 12607 #endif // V8_TARGET_ARCH_S390 |
| OLD | NEW |