| 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 1837 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1848 DCHECK(offset != 0); | 1848 DCHECK(offset != 0); |
| 1849 uint64_t address = xreg(addr_reg, Reg31IsStackPointer); | 1849 uint64_t address = xreg(addr_reg, Reg31IsStackPointer); |
| 1850 set_reg(addr_reg, address + offset, Reg31IsStackPointer); | 1850 set_reg(addr_reg, address + offset, Reg31IsStackPointer); |
| 1851 } | 1851 } |
| 1852 } | 1852 } |
| 1853 | 1853 |
| 1854 | 1854 |
| 1855 void Simulator::CheckMemoryAccess(uintptr_t address, uintptr_t stack) { | 1855 void Simulator::CheckMemoryAccess(uintptr_t address, uintptr_t stack) { |
| 1856 if ((address >= stack_limit_) && (address < stack)) { | 1856 if ((address >= stack_limit_) && (address < stack)) { |
| 1857 fprintf(stream_, "ACCESS BELOW STACK POINTER:\n"); | 1857 fprintf(stream_, "ACCESS BELOW STACK POINTER:\n"); |
| 1858 fprintf(stream_, " sp is here: 0x%016" PRIx64 "\n", stack); | 1858 fprintf(stream_, " sp is here: 0x%016" PRIx64 "\n", |
| 1859 fprintf(stream_, " access was here: 0x%016" PRIx64 "\n", address); | 1859 static_cast<uint64_t>(stack)); |
| 1860 fprintf(stream_, " stack limit is here: 0x%016" PRIx64 "\n", stack_limit_); | 1860 fprintf(stream_, " access was here: 0x%016" PRIx64 "\n", |
| 1861 static_cast<uint64_t>(address)); |
| 1862 fprintf(stream_, " stack limit is here: 0x%016" PRIx64 "\n", |
| 1863 static_cast<uint64_t>(stack_limit_)); |
| 1861 fprintf(stream_, "\n"); | 1864 fprintf(stream_, "\n"); |
| 1862 FATAL("ACCESS BELOW STACK POINTER"); | 1865 FATAL("ACCESS BELOW STACK POINTER"); |
| 1863 } | 1866 } |
| 1864 } | 1867 } |
| 1865 | 1868 |
| 1866 | 1869 |
| 1867 void Simulator::VisitMoveWideImmediate(Instruction* instr) { | 1870 void Simulator::VisitMoveWideImmediate(Instruction* instr) { |
| 1868 MoveWideImmediateOp mov_op = | 1871 MoveWideImmediateOp mov_op = |
| 1869 static_cast<MoveWideImmediateOp>(instr->Mask(MoveWideImmediateMask)); | 1872 static_cast<MoveWideImmediateOp>(instr->Mask(MoveWideImmediateMask)); |
| 1870 int64_t new_xn_val = 0; | 1873 int64_t new_xn_val = 0; |
| (...skipping 1946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3817 | 3820 |
| 3818 delete[] format; | 3821 delete[] format; |
| 3819 } | 3822 } |
| 3820 | 3823 |
| 3821 | 3824 |
| 3822 #endif // USE_SIMULATOR | 3825 #endif // USE_SIMULATOR |
| 3823 | 3826 |
| 3824 } } // namespace v8::internal | 3827 } } // namespace v8::internal |
| 3825 | 3828 |
| 3826 #endif // V8_TARGET_ARCH_ARM64 | 3829 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |