Examples of InsnList


Examples of br.com.caelum.vraptor.asm.tree.InsnList

        // main routine
        worklist.add(new Instantiation(null, mainSubroutine));

        // Emit instantiations of each subroutine we encounter, including the
        // main subroutine
        InsnList newInstructions = new InsnList();
        List newTryCatchBlocks = new ArrayList();
        List newLocalVariables = new ArrayList();
        while (!worklist.isEmpty()) {
            Instantiation inst = (Instantiation) worklist.removeFirst();
            emitSubroutine(inst, worklist, newInstructions, newTryCatchBlocks, newLocalVariables);
View Full Code Here

Examples of br.com.caelum.vraptor.asm.tree.InsnList

        // main routine
        worklist.add(new Instantiation(null, mainSubroutine));

        // Emit instantiations of each subroutine we encounter, including the
        // main subroutine
        InsnList newInstructions = new InsnList();
        List newTryCatchBlocks = new ArrayList();
        List newLocalVariables = new ArrayList();
        while (!worklist.isEmpty()) {
            Instantiation inst = (Instantiation) worklist.removeFirst();
            emitSubroutine(inst, worklist, newInstructions, newTryCatchBlocks, newLocalVariables);
View Full Code Here

Examples of com.alibaba.citrus.asm.tree.InsnList

        // main routine
        worklist.add(new Instantiation(null, mainSubroutine));

        // Emit instantiations of each subroutine we encounter, including the
        // main subroutine
        InsnList newInstructions = new InsnList();
        List newTryCatchBlocks = new ArrayList();
        List newLocalVariables = new ArrayList();
        while (!worklist.isEmpty()) {
            Instantiation inst = (Instantiation) worklist.removeFirst();
            emitSubroutine(inst, worklist, newInstructions, newTryCatchBlocks, newLocalVariables);
View Full Code Here

Examples of com.android.dx.rop.code.InsnList

            alternateSuccessor = alternateSuccessor.primarySuccessor;
        }
    }

    BasicBlock toBasicBlock() {
        InsnList result = new InsnList(instructions.size());
        for (int i = 0; i < instructions.size(); i++) {
            result.set(i, instructions.get(i));
        }
        result.setImmutable();

        int primarySuccessorIndex = -1;
        IntList successors = new IntList();
        for (Label catchLabel : catchLabels) {
            successors.add(catchLabel.id);
View Full Code Here

Examples of com.googlecode.aviator.asm.tree.InsnList

        // main routine
        worklist.add(new Instantiation(null, mainSubroutine));

        // Emit instantiations of each subroutine we encounter, including the
        // main subroutine
        InsnList newInstructions = new InsnList();
        List newTryCatchBlocks = new ArrayList();
        List newLocalVariables = new ArrayList();
        while (!worklist.isEmpty()) {
            Instantiation inst = (Instantiation) worklist.removeFirst();
            emitSubroutine(inst,
View Full Code Here

Examples of jadx.core.utils.InsnList

  private static void shrinkBlock(MethodNode mth, BlockNode block) {
    if (block.getInstructions().isEmpty()) {
      return;
    }
    InsnList insnList = new InsnList(block.getInstructions());
    int insnCount = insnList.size();
    List<ArgsInfo> argsList = new ArrayList<ArgsInfo>(insnCount);
    for (int i = 0; i < insnCount; i++) {
      argsList.add(new ArgsInfo(insnList.get(i), argsList, i));
    }
    List<WrapInfo> wrapList = new ArrayList<WrapInfo>();
    for (ArgsInfo argsInfo : argsList) {
      List<RegisterArg> args = argsInfo.getArgs();
      if (args.isEmpty()) {
        continue;
      }
      ListIterator<RegisterArg> it = args.listIterator(args.size());
      while (it.hasPrevious()) {
        RegisterArg arg = it.previous();
//        if (arg.getName() != null) {
//          continue;
//        }
        SSAVar sVar = arg.getSVar();
        // allow inline only one use arg or 'this'
        if (sVar.getVariableUseCount() != 1 && !arg.isThis()) {
          continue;
        }
        InsnNode assignInsn = sVar.getAssign().getParentInsn();
        if (assignInsn == null || assignInsn.contains(AFlag.DONT_INLINE)) {
          continue;
        }
        int assignPos = insnList.getIndex(assignInsn);
        if (assignPos != -1) {
          WrapInfo wrapInfo = argsInfo.checkInline(assignPos, arg);
          if (wrapInfo != null) {
            wrapList.add(wrapInfo);
          }
        } else {
          // another block
          BlockNode assignBlock = BlockUtils.getBlockByInsn(mth, assignInsn);
          if (assignBlock != null
              && assignInsn != arg.getParentInsn()
              && canMoveBetweenBlocks(assignInsn, assignBlock, block, argsInfo.getInsn())) {
            arg.wrapInstruction(assignInsn);
            InsnList.remove(assignBlock, assignInsn);
          }
        }
      }
    }
    if (!wrapList.isEmpty()) {
      for (WrapInfo wrapInfo : wrapList) {
        wrapInfo.getArg().wrapInstruction(wrapInfo.getInsn());
      }
      for (WrapInfo wrapInfo : wrapList) {
        insnList.remove(wrapInfo.getInsn());
      }
    }
  }
View Full Code Here

Examples of jdk.internal.org.objectweb.asm.tree.InsnList

        // main routine
        worklist.add(new Instantiation(null, mainSubroutine));

        // Emit instantiations of each subroutine we encounter, including the
        // main subroutine
        InsnList newInstructions = new InsnList();
        List<TryCatchBlockNode> newTryCatchBlocks = new ArrayList<TryCatchBlockNode>();
        List<LocalVariableNode> newLocalVariables = new ArrayList<LocalVariableNode>();
        while (!worklist.isEmpty()) {
            Instantiation inst = worklist.removeFirst();
            emitSubroutine(inst, worklist, newInstructions, newTryCatchBlocks,
View Full Code Here

Examples of nginx.clojure.asm.tree.InsnList

        // main routine
        worklist.add(new Instantiation(null, mainSubroutine));

        // Emit instantiations of each subroutine we encounter, including the
        // main subroutine
        InsnList newInstructions = new InsnList();
        List<TryCatchBlockNode> newTryCatchBlocks = new ArrayList<TryCatchBlockNode>();
        List<LocalVariableNode> newLocalVariables = new ArrayList<LocalVariableNode>();
        while (!worklist.isEmpty()) {
            Instantiation inst = worklist.removeFirst();
            emitSubroutine(inst, worklist, newInstructions, newTryCatchBlocks,
View Full Code Here

Examples of org.apache.tapestry5.internal.plastic.asm.tree.InsnList

        // main routine
        worklist.add(new Instantiation(null, mainSubroutine));

        // Emit instantiations of each subroutine we encounter, including the
        // main subroutine
        InsnList newInstructions = new InsnList();
        List<TryCatchBlockNode> newTryCatchBlocks = new ArrayList<TryCatchBlockNode>();
        List<LocalVariableNode> newLocalVariables = new ArrayList<LocalVariableNode>();
        while (!worklist.isEmpty()) {
            Instantiation inst = worklist.removeFirst();
            emitSubroutine(inst, worklist, newInstructions, newTryCatchBlocks,
View Full Code Here

Examples of org.apache.tapestry5.internal.plastic.asm.tree.InsnList

        classNode.methods.add(newConstructor);
    }

    private void stripOutSuperConstructorCall(MethodNode cons)
    {
        InsnList ins = cons.instructions;

        ListIterator li = ins.iterator();

        // Look for the ALOAD 0 (i.e., push this on the stack)
        while (li.hasNext())
        {
            AbstractInsnNode node = (AbstractInsnNode) li.next();
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.