This replaces various aliases (and leftovers) with better ones. For
example, we can now refer to REG_ESP or REG_RSP in common code with
REG_xSP.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro>
---
 arch/x86/emit-code.c                 |   46 +++++++++++++++++-----------------
 arch/x86/include/arch/registers_32.h |   18 ++++++------
 arch/x86/include/arch/registers_64.h |   20 +++++++-------
 arch/x86/use-def.c                   |   22 ++++++++++++----
 4 files changed, 58 insertions(+), 48 deletions(-)

diff --git a/arch/x86/emit-code.c b/arch/x86/emit-code.c
index b5de4a4..9e9e7bf 100644
--- a/arch/x86/emit-code.c
+++ b/arch/x86/emit-code.c
@@ -260,27 +260,27 @@ void emit_lock(struct buffer *buf, struct vm_object *obj)
 {
        __emit_push_imm(buf, (unsigned long)obj);
        __emit_call(buf, vm_object_lock);
-       __emit_add_imm_reg(buf, 0x04, REG_ESP);
+       __emit_add_imm_reg(buf, 0x04, REG_xSP);
 
-       __emit_push_reg(buf, REG_EAX);
-       emit_exception_test(buf, REG_EAX);
-       __emit_pop_reg(buf, REG_EAX);
+       __emit_push_reg(buf, REG_xAX);
+       emit_exception_test(buf, REG_xAX);
+       __emit_pop_reg(buf, REG_xAX);
 }
 
 void emit_unlock(struct buffer *buf, struct vm_object *obj)
 {
        /* Save caller-saved registers which contain method's return value */
-       __emit_push_reg(buf, REG_EAX);
-       __emit_push_reg(buf, REG_EDX);
+       __emit_push_reg(buf, REG_xAX);
+       __emit_push_reg(buf, REG_xDX);
 
        __emit_push_imm(buf, (unsigned long)obj);
        __emit_call(buf, vm_object_unlock);
-       __emit_add_imm_reg(buf, 0x04, REG_ESP);
+       __emit_add_imm_reg(buf, 0x04, REG_xSP);
 
-       emit_exception_test(buf, REG_EAX);
+       emit_exception_test(buf, REG_xAX);
 
-       __emit_pop_reg(buf, REG_EDX);
-       __emit_pop_reg(buf, REG_EAX);
+       __emit_pop_reg(buf, REG_xDX);
+       __emit_pop_reg(buf, REG_xAX);
 }
 
 void emit_lock_this(struct buffer *buf)
@@ -289,13 +289,13 @@ void emit_lock_this(struct buffer *buf)
 
        this_arg_offset = offsetof(struct jit_stack_frame, args);
 
-       __emit_push_membase(buf, REG_EBP, this_arg_offset);
+       __emit_push_membase(buf, REG_xBP, this_arg_offset);
        __emit_call(buf, vm_object_lock);
-       __emit_add_imm_reg(buf, 0x04, REG_ESP);
+       __emit_add_imm_reg(buf, 0x04, REG_xSP);
 
-       __emit_push_reg(buf, REG_EAX);
-       emit_exception_test(buf, REG_EAX);
-       __emit_pop_reg(buf, REG_EAX);
+       __emit_push_reg(buf, REG_xAX);
+       emit_exception_test(buf, REG_xAX);
+       __emit_pop_reg(buf, REG_xAX);
 }
 
 void emit_unlock_this(struct buffer *buf)
@@ -305,17 +305,17 @@ void emit_unlock_this(struct buffer *buf)
        this_arg_offset = offsetof(struct jit_stack_frame, args);
 
        /* Save caller-saved registers which contain method's return value */
-       __emit_push_reg(buf, REG_EAX);
-       __emit_push_reg(buf, REG_EDX);
+       __emit_push_reg(buf, REG_xAX);
+       __emit_push_reg(buf, REG_xDX);
 
-       __emit_push_membase(buf, REG_EBP, this_arg_offset);
+       __emit_push_membase(buf, REG_xBP, this_arg_offset);
        __emit_call(buf, vm_object_unlock);
-       __emit_add_imm_reg(buf, 0x04, REG_ESP);
+       __emit_add_imm_reg(buf, 0x04, REG_xSP);
 
-       emit_exception_test(buf, REG_EAX);
+       emit_exception_test(buf, REG_xAX);
 
-       __emit_pop_reg(buf, REG_EDX);
-       __emit_pop_reg(buf, REG_EAX);
+       __emit_pop_reg(buf, REG_xDX);
+       __emit_pop_reg(buf, REG_xAX);
 }
 
 void backpatch_branch_target(struct buffer *buf,
@@ -359,7 +359,7 @@ void emit_trace_invoke(struct buffer *buf, struct 
compilation_unit *cu)
 {
        __emit_push_imm(buf, (unsigned long) cu);
        __emit_call(buf, &trace_invoke);
-       __emit_add_imm_reg(buf, sizeof(unsigned long), REG_XSP);
+       __emit_add_imm_reg(buf, sizeof(unsigned long), REG_xSP);
 }
 
 /*
diff --git a/arch/x86/include/arch/registers_32.h 
b/arch/x86/include/arch/registers_32.h
index bf90c7c..1547e33 100644
--- a/arch/x86/include/arch/registers_32.h
+++ b/arch/x86/include/arch/registers_32.h
@@ -28,15 +28,15 @@ enum machine_reg {
        REG_EBP = NR_REGISTERS,
        REG_ESP,
 
-       /* Either-R**-or-E** variants (for word-size independent code). */
-       REG_XAX = REG_EAX,
-       REG_XCX,
-       REG_XDX,
-       REG_XBX,
-       REG_XSI,
-       REG_XDI,
-       REG_XBP = REG_EBP,
-       REG_XSP,
+       /* Either-R**-or-E** variants (for 32/64-bit common code). */
+       REG_xAX = REG_EAX,
+       REG_xCX = REG_ECX,
+       REG_xDX = REG_EDX,
+       REG_xBX = REG_EBX,
+       REG_xSI = REG_ESI,
+       REG_xDI = REG_EDI,
+       REG_xBP = REG_EBP,
+       REG_xSP = REG_ESP,
 
        REG_UNASSIGNED = INT_MAX,
 };
diff --git a/arch/x86/include/arch/registers_64.h 
b/arch/x86/include/arch/registers_64.h
index b89bdff..a354403 100644
--- a/arch/x86/include/arch/registers_64.h
+++ b/arch/x86/include/arch/registers_64.h
@@ -26,17 +26,17 @@ enum machine_reg {
        REG_RSP = NR_REGISTERS, /* R4 */
        REG_RBP, /* R5 */
 
-       REG_UNASSIGNED = INT_MAX,
+       /* Either-R**-or-E** variants (for 32/64-bit common code). */
+       REG_xAX = REG_RAX,
+       REG_xCX = REG_RCX,
+       REG_xDX = REG_RDX,
+       REG_xBX = REG_RBX,
+       REG_xSI = REG_RSI,
+       REG_xDI = REG_RDI,
+       REG_xBP = REG_RBP,
+       REG_xSP = REG_RSP,
 
-       /* Aliases that aid the reuse of code from x86-32. */
-       REG_EAX = REG_RAX,
-       REG_ECX = REG_RCX,
-       REG_EDX = REG_RDX,
-       REG_EBX = REG_RBX,
-       REG_ESI = REG_RSI,
-       REG_EDI = REG_RDI,
-       REG_ESP = REG_RSP,
-       REG_EBP = REG_RBP,
+       REG_UNASSIGNED = INT_MAX,
 };
 
 const char *reg_name(enum machine_reg reg);
diff --git a/arch/x86/use-def.c b/arch/x86/use-def.c
index 56b4ddb..74b6ecf 100644
--- a/arch/x86/use-def.c
+++ b/arch/x86/use-def.c
@@ -12,15 +12,25 @@ 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 */
        USE_NONE        = 512,
        USE_SRC         = 1024,
        USE_FP          = 2048, /* frame pointer */
+
+#ifdef CONFIG_X86_32
+       DEF_EAX         = DEF_xAX,
+       DEF_ECX         = DEF_xCX,
+       DEF_EDX         = DEF_xDX,
+#else
+       DEF_RAX         = DEF_xAX,
+       DEF_RCX         = DEF_xCX,
+       DEF_RDX         = DEF_xDX,
+#endif
 };
 
 struct insn_info {
@@ -115,9 +125,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


------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have 
the opportunity to enter the BlackBerry Developer Challenge. See full prize 
details at: http://p.sf.net/sfu/blackberry
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to