Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Side by Side Diff: src/arm64/simulator-arm64.cc

Issue 1990073002: Add {lda,stl}x?r{,b,h} instructions to ARM64 assembler/disassembler (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: un-clang-format some of the switch stmts Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 8
9 #if V8_TARGET_ARCH_ARM64 9 #if V8_TARGET_ARCH_ARM64
10 10
(...skipping 1882 matching lines...) Expand 10 before | Expand all | Expand 10 after
1893 void Simulator::LoadStoreWriteBack(unsigned addr_reg, 1893 void Simulator::LoadStoreWriteBack(unsigned addr_reg,
1894 int64_t offset, 1894 int64_t offset,
1895 AddrMode addrmode) { 1895 AddrMode addrmode) {
1896 if ((addrmode == PreIndex) || (addrmode == PostIndex)) { 1896 if ((addrmode == PreIndex) || (addrmode == PostIndex)) {
1897 DCHECK(offset != 0); 1897 DCHECK(offset != 0);
1898 uint64_t address = xreg(addr_reg, Reg31IsStackPointer); 1898 uint64_t address = xreg(addr_reg, Reg31IsStackPointer);
1899 set_reg(addr_reg, address + offset, Reg31IsStackPointer); 1899 set_reg(addr_reg, address + offset, Reg31IsStackPointer);
1900 } 1900 }
1901 } 1901 }
1902 1902
1903 void Simulator::VisitLoadStoreAcquireRelease(Instruction* instr) {
1904 // TODO(binji)
1905 }
1906
1907 void Simulator::VisitStoreReleaseExclusive(Instruction* instr) {
1908 // TODO(binji)
1909 }
1903 1910
1904 void Simulator::CheckMemoryAccess(uintptr_t address, uintptr_t stack) { 1911 void Simulator::CheckMemoryAccess(uintptr_t address, uintptr_t stack) {
1905 if ((address >= stack_limit_) && (address < stack)) { 1912 if ((address >= stack_limit_) && (address < stack)) {
1906 fprintf(stream_, "ACCESS BELOW STACK POINTER:\n"); 1913 fprintf(stream_, "ACCESS BELOW STACK POINTER:\n");
1907 fprintf(stream_, " sp is here: 0x%016" PRIx64 "\n", 1914 fprintf(stream_, " sp is here: 0x%016" PRIx64 "\n",
1908 static_cast<uint64_t>(stack)); 1915 static_cast<uint64_t>(stack));
1909 fprintf(stream_, " access was here: 0x%016" PRIx64 "\n", 1916 fprintf(stream_, " access was here: 0x%016" PRIx64 "\n",
1910 static_cast<uint64_t>(address)); 1917 static_cast<uint64_t>(address));
1911 fprintf(stream_, " stack limit is here: 0x%016" PRIx64 "\n", 1918 fprintf(stream_, " stack limit is here: 0x%016" PRIx64 "\n",
1912 static_cast<uint64_t>(stack_limit_)); 1919 static_cast<uint64_t>(stack_limit_));
(...skipping 1955 matching lines...) Expand 10 before | Expand all | Expand 10 after
3868 delete[] format; 3875 delete[] format;
3869 } 3876 }
3870 3877
3871 3878
3872 #endif // USE_SIMULATOR 3879 #endif // USE_SIMULATOR
3873 3880
3874 } // namespace internal 3881 } // namespace internal
3875 } // namespace v8 3882 } // namespace v8
3876 3883
3877 #endif // V8_TARGET_ARCH_ARM64 3884 #endif // V8_TARGET_ARCH_ARM64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698