| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_ARM. | 7 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. |
| 8 #if defined(TARGET_ARCH_ARM) | 8 #if defined(TARGET_ARCH_ARM) |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 | 10 |
| (...skipping 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 845 default: { | 845 default: { |
| 846 // The PU field is a 2-bit field. | 846 // The PU field is a 2-bit field. |
| 847 UNREACHABLE(); | 847 UNREACHABLE(); |
| 848 break; | 848 break; |
| 849 } | 849 } |
| 850 } | 850 } |
| 851 } | 851 } |
| 852 | 852 |
| 853 | 853 |
| 854 void ARMDecoder::DecodeType3(Instr* instr) { | 854 void ARMDecoder::DecodeType3(Instr* instr) { |
| 855 if (instr->IsDivision()) { |
| 856 if (instr->Bit(21)) { |
| 857 Format(instr, "udiv'cond 'rd, 'rn, 'rm"); |
| 858 } else { |
| 859 Format(instr, "sdiv'cond 'rd, 'rn, 'rm"); |
| 860 } |
| 861 return; |
| 862 } |
| 855 switch (instr->PUField()) { | 863 switch (instr->PUField()) { |
| 856 case 0: { | 864 case 0: { |
| 857 if (instr->HasW()) { | 865 if (instr->HasW()) { |
| 858 Unknown(instr); | 866 Unknown(instr); |
| 859 } else { | 867 } else { |
| 860 Format(instr, "'memop'cond'b 'rd, ['rn], -'shift_rm"); | 868 Format(instr, "'memop'cond'b 'rd, ['rn], -'shift_rm"); |
| 861 } | 869 } |
| 862 break; | 870 break; |
| 863 } | 871 } |
| 864 case 1: { | 872 case 1: { |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1288 human_buffer, | 1296 human_buffer, |
| 1289 sizeof(human_buffer), | 1297 sizeof(human_buffer), |
| 1290 pc); | 1298 pc); |
| 1291 pc += instruction_length; | 1299 pc += instruction_length; |
| 1292 } | 1300 } |
| 1293 } | 1301 } |
| 1294 | 1302 |
| 1295 } // namespace dart | 1303 } // namespace dart |
| 1296 | 1304 |
| 1297 #endif // defined TARGET_ARCH_ARM | 1305 #endif // defined TARGET_ARCH_ARM |
| OLD | NEW |