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); } if (primarySuccessor != null) { primarySuccessorIndex = primarySuccessor.id; successors.add(primarySuccessorIndex); } if (alternateSuccessor != null) { successors.add(alternateSuccessor.id); } successors.setImmutable(); return new BasicBlock(id, result, successors, primarySuccessorIndex); } }
/** * Converts an insn list to rop form. * * @param ssaInsns {@code non-null;} old instructions * @return {@code non-null;} immutable instruction list */ private InsnList convertInsns(ArrayList<SsaInsn> ssaInsns) { int insnCount = ssaInsns.size(); InsnList result = new InsnList(insnCount); for (int i = 0; i < insnCount; i++) { result.set(i, ssaInsns.get(i).toRopInsn()); } result.setImmutable(); return result; }
/** * Converts an insn list to rop form. * * @param ssaInsns {@code non-null;} old instructions * @return {@code non-null;} immutable instruction list */ private InsnList convertInsns(ArrayList<SsaInsn> ssaInsns) { int insnCount = ssaInsns.size(); InsnList result = new InsnList(insnCount); for (int i = 0; i < insnCount; i++) { result.set(i, ssaInsns.get(i).toRopInsn()); } result.setImmutable(); return result; }
/** * Converts an insn list to rop form. * * @param ssaInsns {@code non-null;} old instructions * @return {@code non-null;} immutable instruction list */ private InsnList convertInsns(ArrayList<SsaInsn> ssaInsns) { int insnCount = ssaInsns.size(); InsnList result = new InsnList(insnCount); for (int i = 0; i < insnCount; i++) { result.set(i, ssaInsns.get(i).toRopInsn()); } result.setImmutable(); return result; }
/** * Converts an insn list to rop form. * * @param ssaInsns {@code non-null;} old instructions * @return {@code non-null;} immutable instruction list */ private InsnList convertInsns(ArrayList<SsaInsn> ssaInsns) { int insnCount = ssaInsns.size(); InsnList result = new InsnList(insnCount); for (int i = 0; i < insnCount; i++) { result.set(i, ssaInsns.get(i).toRopInsn()); } result.setImmutable(); return result; }
/** * Converts an insn list to rop form. * * @param ssaInsns {@code non-null;} old instructions * @return {@code non-null;} immutable instruction list */ private InsnList convertInsns(ArrayList<SsaInsn> ssaInsns) { int insnCount = ssaInsns.size(); InsnList result = new InsnList(insnCount); for (int i = 0; i < insnCount; i++) { result.set(i, ssaInsns.get(i).toRopInsn()); } result.setImmutable(); return result; }
/** * Converts an insn list to rop form. * * @param ssaInsns {@code non-null;} old instructions * @return {@code non-null;} immutable instruction list */ private InsnList convertInsns(ArrayList<SsaInsn> ssaInsns) { int insnCount = ssaInsns.size(); InsnList result = new InsnList(insnCount); for (int i = 0; i < insnCount; i++) { result.set(i, ssaInsns.get(i).toRopInsn()); } result.setImmutable(); return result; }
/** * Converts an insn list to rop form. * * @param ssaInsns {@code non-null;} old instructions * @return {@code non-null;} immutable instruction list */ private InsnList convertInsns(ArrayList<SsaInsn> ssaInsns) { int insnCount = ssaInsns.size(); InsnList result = new InsnList(insnCount); for (int i = 0; i < insnCount; i++) { result.set(i, ssaInsns.get(i).toRopInsn()); } result.setImmutable(); return result; }
/** * Converts an insn list to rop form. * * @param ssaInsns {@code non-null;} old instructions * @return {@code non-null;} immutable instruction list */ private InsnList convertInsns(ArrayList<SsaInsn> ssaInsns) { int insnCount = ssaInsns.size(); InsnList result = new InsnList(insnCount); for (int i = 0; i < insnCount; i++) { result.set(i, ssaInsns.get(i).toRopInsn()); } result.setImmutable(); return result; }
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); } if (primarySuccessor != null) { primarySuccessorIndex = primarySuccessor.id; successors.add(primarySuccessorIndex); } if (alternateSuccessor != null) { successors.add(alternateSuccessor.id); } successors.setImmutable(); return new BasicBlock(id, result, successors, primarySuccessorIndex); } }
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); } if (primarySuccessor != null) { primarySuccessorIndex = primarySuccessor.id; successors.add(primarySuccessorIndex); } if (alternateSuccessor != null) { successors.add(alternateSuccessor.id); } successors.setImmutable(); return new BasicBlock(id, result, successors, primarySuccessorIndex); } }
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); } if (primarySuccessor != null) { primarySuccessorIndex = primarySuccessor.id; successors.add(primarySuccessorIndex); } if (alternateSuccessor != null) { successors.add(alternateSuccessor.id); } successors.setImmutable(); return new BasicBlock(id, result, successors, primarySuccessorIndex); } }
Insn insn = insns.get(i); if (insn.getOpcode() != Rops.MOVE_RETURN_ADDRESS) { newInsns.set(newIndex++, insn);
Insn insn = insns.get(i); if (insn.getOpcode() != Rops.MOVE_RETURN_ADDRESS) { newInsns.set(newIndex++, insn);