Package nginx.clojure.asm.tree

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


            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);
        }
    }
   
    for(int i=0 ; i<f.getStackSize() ; i++) {
View Full Code Here


            if(!isNullType(v)) {
                int slotIdx = fi.stackSlotIndices[i];
                assert slotIdx >= 0 && slotIdx < fi.numSlots;
                emitRestoreValue(mv, v, lvarCStack, slotIdx);
            } else {
                mv.visitInsn(Opcodes.ACONST_NULL);
            }
        }
    }
   
    mv.visitVarInsn(Opcodes.ALOAD,lvarCStack);
View Full Code Here

      AbstractInsnNode insn = mn.instructions.get(i);
      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

        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

    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++) {
        mn.localVariables.get(i).accept(mv);
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.