This fixes an issue where state->reg1 wasn't properly set on x86-64.

Signed-off-by: Eduard - Gabriel Munteanu <eduard.munte...@linux360.ro>
---
 arch/x86/insn-selector.brg |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/insn-selector.brg b/arch/x86/insn-selector.brg
index b32fedf..5ef161c 100644
--- a/arch/x86/insn-selector.brg
+++ b/arch/x86/insn-selector.brg
@@ -1349,9 +1349,11 @@ arg:     EXPR_ARG(reg) 1
        if (reg != REG_UNASSIGNED) {
                dst = get_fixed_var(s->b_parent, reg);
                select_insn(s, tree, reg_reg_insn(INSN_MOV_REG_REG, src, dst));
-
-       } else
+               state->reg1 = dst;
+       } else {
                select_insn(s, tree, reg_insn(INSN_PUSH_REG, src));
+               state->reg1 = src;
+       }
 }
 %endif
 
-- 
1.6.0.6


------------------------------------------------------------------------------
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to