Package nginx.clojure.asm.tree

Examples of nginx.clojure.asm.tree.MethodNode.visitVarInsn()


    for(TryCatchBlockNode tcb : mn.tryCatchBlocks) {
            tcb.accept(mv);
        }
   
    mv.visitMethodInsn(Opcodes.INVOKESTATIC, CSTACK_NAME, "getStack", "()L"+CSTACK_NAME+";");
    mv.visitVarInsn(Opcodes.ASTORE, lvarCStack);
   
    if (needWaveInvokedInitInsn) {
      mv.visitLabel(invokedInitInsnStart);
      mv.visitVarInsn(Opcodes.ALOAD, 0);
      mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, invokedInitInsn.owner, "inch_" + getMD5(invokedInitInsn.desc), "()V");
View Full Code Here


    mv.visitMethodInsn(Opcodes.INVOKESTATIC, CSTACK_NAME, "getStack", "()L"+CSTACK_NAME+";");
    mv.visitVarInsn(Opcodes.ASTORE, lvarCStack);
   
    if (needWaveInvokedInitInsn) {
      mv.visitLabel(invokedInitInsnStart);
      mv.visitVarInsn(Opcodes.ALOAD, 0);
      mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, invokedInitInsn.owner, "inch_" + getMD5(invokedInitInsn.desc), "()V");
      mv.visitLabel(invokedInitInsnEnd);
    }
   
    for(int i=firstLocal ; i<f.getLocals() ; i++) {
View Full Code Here

        BasicValue v = (BasicValue) f.getLocal(i);
        if(!isNullType(v)) {
            int slotIdx = fi.localSlotIndices[i];
            assert slotIdx >= 0 && slotIdx < fi.numSlots;
            emitRestoreValue(mv, v, lvarCStack, slotIdx);
            mv.visitVarInsn(v.getType().getOpcode(Opcodes.ISTORE), i);
        } else if(v != BasicValue.UNINITIALIZED_VALUE) {
            mv.visitInsn(Opcodes.ACONST_NULL);
            mv.visitVarInsn(Opcodes.ASTORE, i);
        }
    }
View Full Code Here

            assert slotIdx >= 0 && slotIdx < fi.numSlots;
            emitRestoreValue(mv, v, lvarCStack, slotIdx);
            mv.visitVarInsn(v.getType().getOpcode(Opcodes.ISTORE), i);
        } else if(v != BasicValue.UNINITIALIZED_VALUE) {
            mv.visitInsn(Opcodes.ACONST_NULL);
            mv.visitVarInsn(Opcodes.ASTORE, i);
        }
    }
   
    for(int i=0 ; i<f.getStackSize() ; i++) {
        BasicValue v = (BasicValue) f.getStack(i);
View Full Code Here

                mv.visitInsn(Opcodes.ACONST_NULL);
            }
        }
    }
   
    mv.visitVarInsn(Opcodes.ALOAD,lvarCStack);
    emitConst(mv, fi.numSlots);
    mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, CSTACK_NAME, "release", "(I)V");
   
    int maxStack = mn.maxStack;
    for (int i = splitPos; i < numIns; i++) {
View Full Code Here

      insn.accept(mv);
    }
   
    if (needWaveInvokedInitInsn) {
      mv.visitLabel(invokedInitInsnCatchAll);
      mv.visitVarInsn(Opcodes.ALOAD,lvarCStack);
      emitConst(mv, fi.numSlots);
      mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, CSTACK_NAME, "release", "(I)V");
      mv.visitInsn(Opcodes.ATHROW);
    }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.