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

Side by Side Diff: runtime/vm/disassembler_arm.cc

Issue 12378080: Adds mrc instruction to arm simulator, assembler, disassembler. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
OLDNEW
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 1173 matching lines...) Expand 10 before | Expand all | Expand 10 after
1184 } else { 1184 } else {
1185 Format(instr, "vmovr'cond 'rd, 'sn"); 1185 Format(instr, "vmovr'cond 'rd, 'sn");
1186 } 1186 }
1187 } else if ((instr->Bits(20, 4) == 0xf) && (instr->Bit(8) == 0) && 1187 } else if ((instr->Bits(20, 4) == 0xf) && (instr->Bit(8) == 0) &&
1188 (instr->Bits(12, 4) == 0xf)) { 1188 (instr->Bits(12, 4) == 0xf)) {
1189 Format(instr, "vmstat'cond"); 1189 Format(instr, "vmstat'cond");
1190 } else { 1190 } else {
1191 Unknown(instr); 1191 Unknown(instr);
1192 } 1192 }
1193 } 1193 }
1194 } else if (instr->IsMrcIdIsar0()) {
1195 Format(instr, "mrc'cond p15, 0, 'rd, c0, c2, 0");
1194 } else { 1196 } else {
1195 Unknown(instr); 1197 Unknown(instr);
1196 } 1198 }
1197 } 1199 }
1198 1200
1199 1201
1200 void ARMDecoder::InstructionDecode(uword pc) { 1202 void ARMDecoder::InstructionDecode(uword pc) {
1201 Instr* instr = Instr::At(pc); 1203 Instr* instr = Instr::At(pc);
1202 if (instr->ConditionField() == kSpecialCondition) { 1204 if (instr->ConditionField() == kSpecialCondition) {
1203 if (instr->InstructionBits() == static_cast<int32_t>(0xf57ff01f)) { 1205 if (instr->InstructionBits() == static_cast<int32_t>(0xf57ff01f)) {
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1285 human_buffer, 1287 human_buffer,
1286 sizeof(human_buffer), 1288 sizeof(human_buffer),
1287 pc); 1289 pc);
1288 pc += instruction_length; 1290 pc += instruction_length;
1289 } 1291 }
1290 } 1292 }
1291 1293
1292 } // namespace dart 1294 } // namespace dart
1293 1295
1294 #endif // defined TARGET_ARCH_ARM 1296 #endif // defined TARGET_ARCH_ARM
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698