OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 // A Disassembler object is used to disassemble a block of code instruction by | 5 // A Disassembler object is used to disassemble a block of code instruction by |
6 // instruction. The default implementation of the NameConverter object can be | 6 // instruction. The default implementation of the NameConverter object can be |
7 // overriden to modify register names or to do symbol lookup on addresses. | 7 // overriden to modify register names or to do symbol lookup on addresses. |
8 // | 8 // |
9 // The example below will disassemble a block of code and print it to stdout. | 9 // The example below will disassemble a block of code and print it to stdout. |
10 // | 10 // |
(...skipping 1905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1916 return tmp_buffer_.start(); | 1916 return tmp_buffer_.start(); |
1917 } | 1917 } |
1918 | 1918 |
1919 | 1919 |
1920 const char* NameConverter::NameOfConstant(byte* addr) const { | 1920 const char* NameConverter::NameOfConstant(byte* addr) const { |
1921 return NameOfAddress(addr); | 1921 return NameOfAddress(addr); |
1922 } | 1922 } |
1923 | 1923 |
1924 | 1924 |
1925 const char* NameConverter::NameOfCPURegister(int reg) const { | 1925 const char* NameConverter::NameOfCPURegister(int reg) const { |
1926 return v8::internal::Register::from_code(reg).ToString(); | 1926 return v8::internal::Registers::Name(reg); |
1927 } | 1927 } |
1928 | 1928 |
1929 | 1929 |
1930 const char* NameConverter::NameOfByteCPURegister(int reg) const { | 1930 const char* NameConverter::NameOfByteCPURegister(int reg) const { |
1931 UNREACHABLE(); // ARM does not have the concept of a byte register | 1931 UNREACHABLE(); // ARM does not have the concept of a byte register |
1932 return "nobytereg"; | 1932 return "nobytereg"; |
1933 } | 1933 } |
1934 | 1934 |
1935 | 1935 |
1936 const char* NameConverter::NameOfXMMRegister(int reg) const { | 1936 const char* NameConverter::NameOfXMMRegister(int reg) const { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1978 v8::internal::PrintF( | 1978 v8::internal::PrintF( |
1979 f, "%p %08x %s\n", | 1979 f, "%p %08x %s\n", |
1980 prev_pc, *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); | 1980 prev_pc, *reinterpret_cast<int32_t*>(prev_pc), buffer.start()); |
1981 } | 1981 } |
1982 } | 1982 } |
1983 | 1983 |
1984 | 1984 |
1985 } // namespace disasm | 1985 } // namespace disasm |
1986 | 1986 |
1987 #endif // V8_TARGET_ARCH_ARM | 1987 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |