Reviewers: Lasse Reichstein,

Message:
And add an instruction to the disassembler.

Description:
X64: Add missing pop when calling handler with Out-of-memory exception.

Please review this at http://codereview.chromium.org/160520

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/x64/codegen-x64.cc
   M     src/x64/disasm-x64.cc


Index: src/x64/disasm-x64.cc
===================================================================
--- src/x64/disasm-x64.cc       (revision 2607)
+++ src/x64/disasm-x64.cc       (working copy)
@@ -88,7 +88,7 @@
    { 0x39, OPER_REG_OP_ORDER,      "cmp" },
    { 0x3A, BYTE_REG_OPER_OP_ORDER, "cmp" },
    { 0x3B, REG_OPER_OP_ORDER,      "cmp" },
-  { 0x8D, REG_OPER_OP_ORDER,      "lea" },
+  { 0x63, REG_OPER_OP_ORDER,      "movsxlq" },
    { 0x84, BYTE_REG_OPER_OP_ORDER, "test" },
    { 0x85, REG_OPER_OP_ORDER,      "test" },
    { 0x86, BYTE_REG_OPER_OP_ORDER, "xchg" },
@@ -97,6 +97,7 @@
    { 0x89, OPER_REG_OP_ORDER,      "mov" },
    { 0x8A, BYTE_REG_OPER_OP_ORDER, "mov" },
    { 0x8B, REG_OPER_OP_ORDER,      "mov" },
+  { 0x8D, REG_OPER_OP_ORDER,      "lea" },
    { -1, UNSET_OP_ORDER, "" }
  };

Index: src/x64/codegen-x64.cc
===================================================================
--- src/x64/codegen-x64.cc      (revision 2607)
+++ src/x64/codegen-x64.cc      (working copy)
@@ -6467,7 +6467,7 @@
    __ xor_(rsi, rsi);

    // Restore registers from handler.
-
+  __ pop(kScratchRegister);  // Next Handler.  Not used.
    __ pop(rbp);  // FP
    ASSERT_EQ(StackHandlerConstants::kFPOffset + kPointerSize,
              StackHandlerConstants::kStateOffset);



--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to