| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/disassembler.h" | 5 #include "vm/disassembler.h" |
| 6 | 6 |
| 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM64. | 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM64. |
| 8 #if defined(TARGET_ARCH_ARM64) | 8 #if defined(TARGET_ARCH_ARM64) |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 #include "vm/instructions.h" | 10 #include "vm/instructions.h" |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 static const char* shift_names[kMaxShift] = {"lsl", "lsr", "asr", "ror"}; | 118 static const char* shift_names[kMaxShift] = {"lsl", "lsr", "asr", "ror"}; |
| 119 | 119 |
| 120 | 120 |
| 121 static const char* extend_names[kMaxExtend] = { | 121 static const char* extend_names[kMaxExtend] = { |
| 122 "uxtb", "uxth", "uxtw", "uxtx", "sxtb", "sxth", "sxtw", "sxtx", | 122 "uxtb", "uxth", "uxtw", "uxtx", "sxtb", "sxth", "sxtw", "sxtx", |
| 123 }; | 123 }; |
| 124 | 124 |
| 125 | 125 |
| 126 // These condition names are defined in a way to match the native disassembler | 126 // These condition names are defined in a way to match the native disassembler |
| 127 // formatting. See for example the command "objdump -d <binary file>". | 127 // formatting. See for example the command "objdump -d <binary file>". |
| 128 static const char* cond_names[kMaxCondition] = { | 128 static const char* cond_names[kNumberOfConditions] = { |
| 129 "eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc", | 129 "eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc", |
| 130 "hi", "ls", "ge", "lt", "gt", "le", "", "invalid", | 130 "hi", "ls", "ge", "lt", "gt", "le", "", "invalid", |
| 131 }; | 131 }; |
| 132 | 132 |
| 133 | 133 |
| 134 // Print the condition guarding the instruction. | 134 // Print the condition guarding the instruction. |
| 135 void ARM64Decoder::PrintCondition(Instr* instr) { | 135 void ARM64Decoder::PrintCondition(Instr* instr) { |
| 136 if (instr->IsConditionalSelectOp()) { | 136 if (instr->IsConditionalSelectOp()) { |
| 137 Print(cond_names[instr->SelectConditionField()]); | 137 Print(cond_names[instr->SelectConditionField()]); |
| 138 } else { | 138 } else { |
| (...skipping 1346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1485 *object = NULL; | 1485 *object = NULL; |
| 1486 } | 1486 } |
| 1487 } | 1487 } |
| 1488 } | 1488 } |
| 1489 | 1489 |
| 1490 #endif // !PRODUCT | 1490 #endif // !PRODUCT |
| 1491 | 1491 |
| 1492 } // namespace dart | 1492 } // namespace dart |
| 1493 | 1493 |
| 1494 #endif // defined TARGET_ARCH_ARM | 1494 #endif // defined TARGET_ARCH_ARM |
| OLD | NEW |