private void visitIOP(int op, int a){ // xstore // xload if(op>=21&&op<=58){ mn.visitVarInsn(op,a); } else { // xipush mn.visitIntInsn(op,a); } } private void visitJOP(int op, Label label){
mn.visitIntInsn(NEWARRAY,T_BOOLEAN); mn.visitIntInsn(NEWARRAY,T_BYTE); mn.visitIntInsn(NEWARRAY,T_SHORT); mn.visitIntInsn(NEWARRAY,T_CHAR); mn.visitIntInsn(NEWARRAY,T_INT); mn.visitIntInsn(NEWARRAY,T_LONG); mn.visitIntInsn(NEWARRAY,T_FLOAT); mn.visitIntInsn(NEWARRAY,T_DOUBLE);
/** * Create const method node helper. */ public MethodNode createReturnConstantMethod(String name, int value) { MethodNode mnode = new MethodNode(Opcodes.ACC_PUBLIC+Opcodes.ACC_STATIC, name, Type.getMethodDescriptor(Type.INT_TYPE), null, null); mnode.visitIntInsn(Opcodes.SIPUSH, value); mnode.visitInsn(Opcodes.IRETURN); return mnode; }
method.visitInsn(numberOfStrings + 3); } else if (numberOfStrings <= 127) { method.visitIntInsn(BIPUSH, strings.size()); } else if (numberOfStrings <= 32767) { method.visitIntInsn(SIPUSH, strings.size()); } else { method.visitLdcInsn(strings.size()); method.visitInsn(i + 3); } else if (i <= 127) { method.visitIntInsn(BIPUSH, i); } else if (i <= 32767) { method.visitIntInsn(SIPUSH, i); } else { method.visitLdcInsn(i);
mv.visitVarInsn(ALOAD, 7); mv.visitInsn(ARRAYLENGTH); mv.visitIntInsn(NEWARRAY, T_CHAR); mv.visitVarInsn(ASTORE, 8); Label l7 = new Label(); mv.visitVarInsn(ILOAD, 9); mv.visitInsn(CALOAD); mv.visitIntInsn(SIPUSH, 2893); mv.visitInsn(IXOR); mv.visitInsn(I2C); mv.visitVarInsn(ALOAD, 9); mv.visitInsn(ARRAYLENGTH); mv.visitIntInsn(NEWARRAY, T_CHAR); mv.visitVarInsn(ASTORE, 10); Label l14 = new Label(); mv.visitVarInsn(ILOAD, 11); mv.visitInsn(CALOAD); mv.visitIntInsn(SIPUSH, 2993); mv.visitInsn(IXOR); mv.visitInsn(I2C); mv.visitVarInsn(ALOAD, 11); mv.visitInsn(ARRAYLENGTH); mv.visitIntInsn(NEWARRAY, T_CHAR); mv.visitVarInsn(ASTORE, 12); Label l21 = new Label();
mv.visitVarInsn(ALOAD, 7); mv.visitInsn(ARRAYLENGTH); mv.visitIntInsn(NEWARRAY, T_CHAR); mv.visitVarInsn(ASTORE, 8); Label l4 = new Label(); mv.visitVarInsn(ILOAD, 9); mv.visitInsn(CALOAD); mv.visitIntInsn(SIPUSH, 1029); mv.visitInsn(IXOR); mv.visitInsn(I2C); mv.visitVarInsn(ALOAD, 9); mv.visitInsn(ARRAYLENGTH); mv.visitIntInsn(NEWARRAY, T_CHAR); mv.visitVarInsn(ASTORE, 10); Label l11 = new Label(); mv.visitVarInsn(ILOAD, 11); mv.visitInsn(CALOAD); mv.visitIntInsn(SIPUSH, 2038); mv.visitInsn(IXOR); mv.visitInsn(I2C); mv.visitVarInsn(ALOAD, 11); mv.visitInsn(ARRAYLENGTH); mv.visitIntInsn(NEWARRAY, T_CHAR); mv.visitVarInsn(ASTORE, 12); Label l18 = new Label();