equal
deleted
inserted
replaced
32 |
32 |
33 static const char* pd_cpu_opts() { |
33 static const char* pd_cpu_opts() { |
34 return ""; |
34 return ""; |
35 } |
35 } |
36 |
36 |
|
37 // Returns address of n-th instruction preceding addr, |
|
38 // NULL if no preceding instruction can be found. |
|
39 // On ARM(aarch64), we assume a constant instruction length. |
|
40 // It might be beneficial to check "is_readable" as we do on ppc and s390. |
|
41 static address find_prev_instr(address addr, int n_instr) { |
|
42 return addr - Assembler::instruction_size*n_instr; |
|
43 } |
|
44 |
|
45 // special-case instruction decoding. |
|
46 // There may be cases where the binutils disassembler doesn't do |
|
47 // the perfect job. In those cases, decode_instruction0 may kick in |
|
48 // and do it right. |
|
49 // If nothing had to be done, just return "here", otherwise return "here + instr_len(here)" |
|
50 static address decode_instruction0(address here, outputStream* st, address virtual_begin = NULL) { |
|
51 return here; |
|
52 } |
|
53 |
|
54 // platform-specific instruction annotations (like value of loaded constants) |
|
55 static void annotate(address pc, outputStream* st) { }; |
|
56 |
37 #endif // CPU_AARCH64_DISASSEMBLER_AARCH64_HPP |
57 #endif // CPU_AARCH64_DISASSEMBLER_AARCH64_HPP |