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, &regop, &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, &regop, &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

Reply via email to