Thanks a LOT to Arhur Huillet for adding these dummy rules. This
prevents jato from crashing when we try to jit-compile floating-point
bytecodes.

PS: You might want to put these rules in different locations. I don't
know the proper monoburg style.

Signed-off-by: Vegard Nossum <vegard.nos...@gmail.com>
---
 arch/x86/insn-selector_32.brg |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/x86/insn-selector_32.brg b/arch/x86/insn-selector_32.brg
index ffcd954..94d7783 100644
--- a/arch/x86/insn-selector_32.brg
+++ b/arch/x86/insn-selector_32.brg
@@ -128,6 +128,12 @@ static enum insn_type br_binop_to_insn_type(enum 
binary_operator binop)
 
 %start stmt
 
+reg:   EXPR_FVALUE     0
+{
+       NOT_IMPLEMENTED;
+       state->reg1 = get_var(s->b_parent);
+}
+
 reg:   EXPR_VALUE      0
 {
        struct expression *expr;
@@ -655,6 +661,12 @@ reg:       EXPR_INVOKEVIRTUAL(arg) 1
                select_insn(s, tree, reg_reg_insn(INSN_MOV_REG_REG, edx, 
state->reg2));
 }
 
+reg:   OP_CMPL(reg, reg) 1
+{
+       NOT_IMPLEMENTED;
+       state->reg1 = state->left->reg1;
+}
+
 reg:   OP_CMP(reg, reg) 1
 {
        emulate_op_64(state, s, tree, emulate_lcmp, J_INT);
@@ -1021,6 +1033,12 @@ reg:     EXPR_CONVERSION(reg)
                state->reg1 = get_var(s->b_parent);
 
                select_insn(s, tree, reg_reg_insn(INSN_MOVSX_REG_REG, 
state->left->reg1, state->reg1));
+       } else if (src->vm_type == J_INT && expr->vm_type == J_FLOAT) {
+               NOT_IMPLEMENTED;
+               state->reg1 = get_var(s->b_parent);
+       } else if (src->vm_type == J_FLOAT && expr->vm_type == J_INT) {
+               NOT_IMPLEMENTED;
+               state->reg1 = get_var(s->b_parent);
        } else {
                printf("%d to %d\n", src->vm_type, expr->vm_type);
                assert(!"conversion not implemented");
-- 
1.6.0.4


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

Reply via email to