@Override public void JumpInstr(JumpInstr jumpinstr) { jvmMethod().goTo(getJVMLabel(jumpinstr.getJumpTarget())); }
@Override public void JumpInstr(JumpInstr jumpinstr) { jvmMethod().goTo(getJVMLabel(jumpinstr.getJumpTarget())); }
@Override public void LabelInstr(LabelInstr labelinstr) { jvm.method().mark(getJVMLabel(labelinstr.getLabel())); }
@Override public void BNilInstr(BNilInstr bnilinstr) { visit(bnilinstr.getArg1()); jvmMethod().branchIfNil(getJVMLabel(bnilinstr.getJumpTarget())); }
@Override public void BNilInstr(BNilInstr bnilinstr) { visit(bnilinstr.getArg1()); jvmMethod().branchIfNil(getJVMLabel(bnilinstr.getJumpTarget())); }
@Override public void BUndefInstr(BUndefInstr bundefinstr) { visit(bundefinstr.getArg1()); jvm.method().pushUndefined(); jvm.method().adapter.if_acmpeq(getJVMLabel(bundefinstr.getJumpTarget())); }
@Override public void BFalseInstr(BFalseInstr bFalseInstr) { visit(bFalseInstr.getArg1()); jvm.method().isTrue(); jvm.method().bfalse(getJVMLabel(bFalseInstr.getJumpTarget())); }
@Override public void BUndefInstr(BUndefInstr bundefinstr) { visit(bundefinstr.getArg1()); jvmMethod().pushUndefined(); jvmAdapter().if_acmpeq(getJVMLabel(bundefinstr.getJumpTarget())); }
@Override public void BNilInstr(BNilInstr bnilinstr) { visit(bnilinstr.getArg1()); jvm.method().isNil(); jvm.method().btrue(getJVMLabel(bnilinstr.getJumpTarget())); }
@Override public void BTrueInstr(BTrueInstr btrueinstr) { visit(btrueinstr.getArg1()); jvm.method().isTrue(); jvm.method().btrue(getJVMLabel(btrueinstr.getJumpTarget())); }
@Override public void BUndefInstr(BUndefInstr bundefinstr) { visit(bundefinstr.getArg1()); jvmMethod().pushUndefined(); jvmAdapter().if_acmpeq(getJVMLabel(bundefinstr.getJumpTarget())); }
@Override public void BFalseInstr(BFalseInstr bFalseInstr) { visit(bFalseInstr.getArg1()); jvm.method().isTrue(); jvm.method().bfalse(getJVMLabel(bFalseInstr.getJumpTarget())); }
@Override public void BTrueInstr(BTrueInstr btrueinstr) { visit(btrueinstr.getArg1()); jvm.method().isTrue(); jvm.method().btrue(getJVMLabel(btrueinstr.getJumpTarget())); }
@Override public void BUndefInstr(BUndefInstr bundefinstr) { visit(bundefinstr.getArg1()); jvm.method().pushUndefined(); jvm.method().adapter.if_acmpeq(getJVMLabel(bundefinstr.getJumpTarget())); }
@Override public void BEQInstr(BEQInstr beqInstr) { Operand[] args = beqInstr.getOperands(); jvm.method().loadLocal(0); visit(args[0]); visit(args[1]); jvm.method().invokeHelper("BEQ", boolean.class, ThreadContext.class, IRubyObject.class, IRubyObject.class); jvm.method().adapter.iftrue(getJVMLabel(beqInstr.getJumpTarget())); }
@Override public void BNEInstr(BNEInstr bneinstr) { Operand[] args = bneinstr.getOperands(); jvm.method().loadLocal(0); visit(args[0]); visit(args[1]); jvm.method().invokeHelper("BNE", boolean.class, ThreadContext.class, IRubyObject.class, IRubyObject.class); jvm.method().adapter.iftrue(getJVMLabel(bneinstr.getJumpTarget())); }
@Override public void BEQInstr(BEQInstr beqInstr) { Operand[] args = beqInstr.getOperands(); jvm.method().loadLocal(0); visit(args[0]); visit(args[1]); jvm.method().invokeHelper("BEQ", boolean.class, ThreadContext.class, IRubyObject.class, IRubyObject.class); jvm.method().adapter.iftrue(getJVMLabel(beqInstr.getJumpTarget())); }
@Override public void BNEInstr(BNEInstr bneinstr) { Operand[] args = bneinstr.getOperands(); jvm.method().loadLocal(0); visit(args[0]); visit(args[1]); jvm.method().invokeHelper("BNE", boolean.class, ThreadContext.class, IRubyObject.class, IRubyObject.class); jvm.method().adapter.iftrue(getJVMLabel(bneinstr.getJumpTarget())); }
@Override public void BNEInstr(BNEInstr bneinstr) { jvmMethod().loadContext(); visit(bneinstr.getArg1()); visit(bneinstr.getArg2()); jvmMethod().invokeHelper("BNE", boolean.class, ThreadContext.class, IRubyObject.class, IRubyObject.class); jvmAdapter().iftrue(getJVMLabel(bneinstr.getJumpTarget())); }
@Override public void BNEInstr(BNEInstr bneinstr) { jvmMethod().loadContext(); visit(bneinstr.getArg1()); visit(bneinstr.getArg2()); jvmMethod().invokeHelper("BNE", boolean.class, ThreadContext.class, IRubyObject.class, IRubyObject.class); jvmAdapter().iftrue(getJVMLabel(bneinstr.getJumpTarget())); }