| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 <stdlib.h> | 5 #include <stdlib.h> |
| 6 #include <cmath> | 6 #include <cmath> |
| 7 #include <cstdarg> | 7 #include <cstdarg> |
| 8 #include "src/v8.h" | 8 #include "src/v8.h" |
| 9 | 9 |
| 10 #if V8_TARGET_ARCH_ARM64 | 10 #if V8_TARGET_ARCH_ARM64 |
| (...skipping 1658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1669 void Simulator::VisitLoadStorePairPreIndex(Instruction* instr) { | 1669 void Simulator::VisitLoadStorePairPreIndex(Instruction* instr) { |
| 1670 LoadStorePairHelper(instr, PreIndex); | 1670 LoadStorePairHelper(instr, PreIndex); |
| 1671 } | 1671 } |
| 1672 | 1672 |
| 1673 | 1673 |
| 1674 void Simulator::VisitLoadStorePairPostIndex(Instruction* instr) { | 1674 void Simulator::VisitLoadStorePairPostIndex(Instruction* instr) { |
| 1675 LoadStorePairHelper(instr, PostIndex); | 1675 LoadStorePairHelper(instr, PostIndex); |
| 1676 } | 1676 } |
| 1677 | 1677 |
| 1678 | 1678 |
| 1679 void Simulator::VisitLoadStorePairNonTemporal(Instruction* instr) { | |
| 1680 LoadStorePairHelper(instr, Offset); | |
| 1681 } | |
| 1682 | |
| 1683 | |
| 1684 void Simulator::LoadStorePairHelper(Instruction* instr, | 1679 void Simulator::LoadStorePairHelper(Instruction* instr, |
| 1685 AddrMode addrmode) { | 1680 AddrMode addrmode) { |
| 1686 unsigned rt = instr->Rt(); | 1681 unsigned rt = instr->Rt(); |
| 1687 unsigned rt2 = instr->Rt2(); | 1682 unsigned rt2 = instr->Rt2(); |
| 1688 unsigned addr_reg = instr->Rn(); | 1683 unsigned addr_reg = instr->Rn(); |
| 1689 size_t access_size = 1 << instr->SizeLSPair(); | 1684 size_t access_size = 1 << instr->SizeLSPair(); |
| 1690 int64_t offset = instr->ImmLSPair() * access_size; | 1685 int64_t offset = instr->ImmLSPair() * access_size; |
| 1691 uintptr_t address = LoadStoreAddress(addr_reg, offset, addrmode); | 1686 uintptr_t address = LoadStoreAddress(addr_reg, offset, addrmode); |
| 1692 uintptr_t address2 = address + access_size; | 1687 uintptr_t address2 = address + access_size; |
| 1693 uintptr_t stack = 0; | 1688 uintptr_t stack = 0; |
| (...skipping 2140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3834 delete[] format; | 3829 delete[] format; |
| 3835 } | 3830 } |
| 3836 | 3831 |
| 3837 | 3832 |
| 3838 #endif // USE_SIMULATOR | 3833 #endif // USE_SIMULATOR |
| 3839 | 3834 |
| 3840 } // namespace internal | 3835 } // namespace internal |
| 3841 } // namespace v8 | 3836 } // namespace v8 |
| 3842 | 3837 |
| 3843 #endif // V8_TARGET_ARCH_ARM64 | 3838 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |