Package nginx.clojure.asm.tree

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


   
    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);
View Full Code Here


    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++) {
        BasicValue v = (BasicValue) f.getLocal(i);
View Full Code Here

        }
    }
   
    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++) {
      AbstractInsnNode insn = mn.instructions.get(i);
      if (insn instanceof MethodInsnNode) {
View Full Code Here

      if (insn instanceof MethodInsnNode) {
        MethodInsnNode misn = (MethodInsnNode) insn;
        String name = misn.name;
        if (name.charAt(0) == '<' && name.charAt(1) == 'i' && db != null && db.checkMethodSuspendType(misn.owner, ClassEntry.key(name, misn.desc), false, false) == MethodDatabase.SUSPEND_NORMAL) {
          mv.visitInsn(Opcodes.ACONST_NULL);
          mv.visitMethodInsn(misn.getOpcode(), misn.owner, name, InstrumentConstructorMethod.buildShrinkedInitMethodDesc(misn.desc));
          mv.visitInsn(Opcodes.DUP);
          mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, misn.owner, InstrumentConstructorMethod.buildInitHelpMethodName(misn.desc), "()V");
          maxStack = mn.maxStack + 1;
          continue;
        }
View Full Code Here

        String name = misn.name;
        if (name.charAt(0) == '<' && name.charAt(1) == 'i' && db != null && db.checkMethodSuspendType(misn.owner, ClassEntry.key(name, misn.desc), false, false) == MethodDatabase.SUSPEND_NORMAL) {
          mv.visitInsn(Opcodes.ACONST_NULL);
          mv.visitMethodInsn(misn.getOpcode(), misn.owner, name, InstrumentConstructorMethod.buildShrinkedInitMethodDesc(misn.desc));
          mv.visitInsn(Opcodes.DUP);
          mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, misn.owner, InstrumentConstructorMethod.buildInitHelpMethodName(misn.desc), "()V");
          maxStack = mn.maxStack + 1;
          continue;
        }
      }
      insn.accept(mv);
View Full Code Here

   
    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);
    }

    if(mn.localVariables != null && !mn.localVariables.isEmpty()) {
      for (int i = 0; i < f.getLocals(); i++) {
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.