a(fac.createCheckCast(new ObjectType("java.lang.Integer")));
a(fac.createInvoke("java.lang.Integer","intValue",Type.INT,Type.NO_ARGS,INVOKEVIRTUAL));
a(InstructionConstants.IRETURN);
- bh.setTarget(a(InstructionConstants.ICONST_M1));
- a(InstructionConstants.IRETURN);
+ bh.setTarget(a(InstructionConstants.POP));
+ a(InstructionConstants.ICONST_M1);
+ a(InstructionConstants.IRETURN);
lookupSymbol.setMaxLocals();
lookupSymbol.setMaxStack();
cl.addMethod(lookupSymbol.getMethod());
pushRegZ(R+A1);
pushRegZ(R+A2);
pushRegZ(R+A3);
- a(fac.createInvoke(fullClassName,"syscall",Type.INT,new Type[]{Type.INT,Type.INT,Type.INT,Type.INT,Type.INT},INVOKEVIRTUAL));
+ pushRegZ(R+T0);
+ pushRegZ(R+T1);
+ a(fac.createInvoke(fullClassName,"syscall",Type.INT,new Type[]{Type.INT,Type.INT,Type.INT,Type.INT,Type.INT,Type.INT,Type.INT},INVOKEVIRTUAL));
setReg();
a(InstructionConstants.ALOAD_0);
b1 = a(InstructionFactory.createBranchInstruction(IFGT,null));
a(d ? InstructionConstants.DCONST_0 : InstructionConstants.FCONST_0);
- if(d) {
- a(InstructionConstants.DUP2_X2);
- a(InstructionConstants.POP2);
- } else {
- a(InstructionConstants.POP);
- }
- a(InstructionConstants.DSUB);
+ a(d ? InstructionConstants.DSUB : InstructionConstants.FSUB);
b1.setTarget(setDouble(d));