Commit c08cd184 broke x86-64 builds because it introduced 32-bit
register names in code used by x86-64. This fixes it by taking advantage
of word-size independent register names, since the previous change is
compatible with x86-64.

Signed-off-by: Eduard - Gabriel Munteanu <[email protected]>
---
 arch/x86/use-def.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/x86/use-def.c b/arch/x86/use-def.c
index bc3ca4b..2c909cb 100644
--- a/arch/x86/use-def.c
+++ b/arch/x86/use-def.c
@@ -11,9 +11,9 @@ enum {
        DEF_DST         = 1,
        DEF_SRC         = 2,
        DEF_NONE        = 4,
-       DEF_EAX         = 8,
-       DEF_ECX         = 16,
-       DEF_EDX         = 32,
+       DEF_XAX         = 8,
+       DEF_XCX         = 16,
+       DEF_XDX         = 32,
        USE_DST         = 64,
        USE_IDX_DST     = 128,  /* destination operand is memindex */
        USE_IDX_SRC     = 256,  /* source operand is memindex */
@@ -36,8 +36,8 @@ static struct insn_info insn_infos[] = {
        DECLARE_INFO(INSN_ADD_MEMBASE_REG, USE_SRC | DEF_DST),
        DECLARE_INFO(INSN_ADD_REG_REG, USE_SRC | DEF_DST),
        DECLARE_INFO(INSN_AND_MEMBASE_REG, USE_SRC | DEF_DST),
-       DECLARE_INFO(INSN_CALL_REG, USE_SRC | DEF_EAX | DEF_ECX | DEF_EDX),
-       DECLARE_INFO(INSN_CALL_REL, USE_NONE | DEF_EAX | DEF_ECX | DEF_EDX),
+       DECLARE_INFO(INSN_CALL_REG, USE_SRC | DEF_XAX | DEF_XCX | DEF_XDX),
+       DECLARE_INFO(INSN_CALL_REL, USE_NONE | DEF_XAX | DEF_XCX | DEF_XDX),
        DECLARE_INFO(INSN_CLTD_REG_REG, USE_SRC | DEF_SRC | DEF_DST),
        DECLARE_INFO(INSN_CMP_IMM_REG, USE_DST),
        DECLARE_INFO(INSN_CMP_MEMBASE_REG, USE_SRC | DEF_DST),
@@ -57,8 +57,8 @@ static struct insn_info insn_infos[] = {
        DECLARE_INFO(INSN_MOV_REG_MEMINDEX, USE_SRC | USE_DST | USE_IDX_DST | 
DEF_NONE),
        DECLARE_INFO(INSN_MOV_REG_MEMLOCAL, USE_SRC),
        DECLARE_INFO(INSN_MOV_REG_REG, USE_SRC | DEF_DST),
-       DECLARE_INFO(INSN_MUL_MEMBASE_EAX, USE_SRC | DEF_DST | DEF_EDX | 
DEF_EAX),
-       DECLARE_INFO(INSN_MUL_REG_EAX, USE_SRC | DEF_DST | DEF_EDX | DEF_EAX),
+       DECLARE_INFO(INSN_MUL_MEMBASE_EAX, USE_SRC | DEF_DST | DEF_XDX | 
DEF_XAX),
+       DECLARE_INFO(INSN_MUL_REG_EAX, USE_SRC | DEF_DST | DEF_XDX | DEF_XAX),
        DECLARE_INFO(INSN_MUL_REG_REG, USE_SRC | DEF_DST),
        DECLARE_INFO(INSN_NEG_REG, USE_SRC | DEF_SRC),
        DECLARE_INFO(INSN_OR_MEMBASE_REG, USE_SRC | DEF_DST),
@@ -86,9 +86,9 @@ struct mach_reg_def {
 };
 
 static struct mach_reg_def checkregs[] = {
-       { REG_EAX, DEF_EAX },
-       { REG_ECX, DEF_ECX },
-       { REG_EDX, DEF_EDX },
+       { REG_XAX, DEF_XAX },
+       { REG_XCX, DEF_XCX },
+       { REG_XDX, DEF_XDX },
 };
 
 
-- 
1.6.0.6


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Jatovm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to