Revision: 5515
Author: [email protected]
Date: Thu Sep 23 12:01:56 2010
Log: Support dec_b instruction in ia32 and x64 disassembler.
Review URL: http://codereview.chromium.org/3412028
http://code.google.com/p/v8/source/detail?r=5515
Modified:
/branches/bleeding_edge/src/ia32/disasm-ia32.cc
/branches/bleeding_edge/src/x64/disasm-x64.cc
/branches/bleeding_edge/test/cctest/test-disasm-ia32.cc
=======================================
--- /branches/bleeding_edge/src/ia32/disasm-ia32.cc Tue Sep 21 05:54:12 2010
+++ /branches/bleeding_edge/src/ia32/disasm-ia32.cc Thu Sep 23 12:01:56 2010
@@ -1194,12 +1194,12 @@
{ data++;
int mod, regop, rm;
get_modrm(*data, &mod, ®op, &rm);
- if (mod == 3 && regop == ecx) {
- AppendToBuffer("dec_b %s", NameOfCPURegister(rm));
+ if (regop == ecx) {
+ AppendToBuffer("dec_b ");
+ data += PrintRightOperand(data);
} else {
UnimplementedInstruction();
}
- data++;
}
break;
=======================================
--- /branches/bleeding_edge/src/x64/disasm-x64.cc Tue Jul 27 05:02:21 2010
+++ /branches/bleeding_edge/src/x64/disasm-x64.cc Thu Sep 23 12:01:56 2010
@@ -1450,12 +1450,12 @@
data++;
int mod, regop, rm;
get_modrm(*data, &mod, ®op, &rm);
- if (mod == 3 && regop == 1) {
- AppendToBuffer("decb %s", NameOfCPURegister(rm));
+ if (regop == 1) {
+ AppendToBuffer("decb ");
+ data += PrintRightOperand(data);
} else {
UnimplementedInstruction();
}
- data++;
}
break;
=======================================
--- /branches/bleeding_edge/test/cctest/test-disasm-ia32.cc Tue Sep 21
05:54:12 2010
+++ /branches/bleeding_edge/test/cctest/test-disasm-ia32.cc Thu Sep 23
12:01:56 2010
@@ -165,6 +165,8 @@
__ mov(Operand(ebx, ecx, times_4, 10000), edx);
__ nop();
__ dec_b(edx);
+ __ dec_b(Operand(eax, 10));
+ __ dec_b(Operand(ebx, ecx, times_4, 10000));
__ dec(edx);
__ cdq();
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev