/** {@inheritDoc} */ public boolean requiresSourcesInOrder(Rop opcode, RegisterSpecList sources) { return !disableSourcesInOrder && opcode.isCallLike() && totalRopWidth(sources) >= MIN_INVOKE_IN_ORDER; }
/** {@inheritDoc} */ public boolean requiresSourcesInOrder(Rop opcode, RegisterSpecList sources) { return !disableSourcesInOrder && opcode.isCallLike() && totalRopWidth(sources) >= MIN_INVOKE_IN_ORDER; }
/** {@inheritDoc} */ public boolean requiresSourcesInOrder(Rop opcode, RegisterSpecList sources) { return !disableSourcesInOrder && opcode.isCallLike() && totalRopWidth(sources) >= MIN_INVOKE_IN_ORDER; }
/** {@inheritDoc} */ @Override public boolean requiresSourcesInOrder(Rop opcode, RegisterSpecList sources) { return !disableSourcesInOrder && opcode.isCallLike() && totalRopWidth(sources) >= MIN_INVOKE_IN_ORDER; }
/** {@inheritDoc} */ @Override public boolean requiresSourcesInOrder(Rop opcode, RegisterSpecList sources) { return !disableSourcesInOrder && opcode.isCallLike() && totalRopWidth(sources) >= MIN_INVOKE_IN_ORDER; }
/** {@inheritDoc} */ public boolean requiresSourcesInOrder(Rop opcode, RegisterSpecList sources) { return !disableSourcesInOrder && opcode.isCallLike() && totalRopWidth(sources) >= MIN_INVOKE_IN_ORDER; }
/** {@inheritDoc} */ public boolean requiresSourcesInOrder(Rop opcode, RegisterSpecList sources) { return !disableSourcesInOrder && opcode.isCallLike() && totalRopWidth(sources) >= MIN_INVOKE_IN_ORDER; }
/** {@inheritDoc} */ public boolean requiresSourcesInOrder(Rop opcode, RegisterSpecList sources) { return !disableSourcesInOrder && opcode.isCallLike() && totalRopWidth(sources) >= MIN_INVOKE_IN_ORDER; }
/** {@inheritDoc} */ @Override public void visitInvokePolymorphicInsn(InvokePolymorphicInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("Expected BRANCH_THROW got " + rop.getBranchingness()); } else if (!rop.isCallLike()) { throw new RuntimeException("Expected call-like operation"); } addOutput(lastAddress); RegisterSpecList regs = insn.getSources(); Constant[] constants = new Constant[] { insn.getInvokeMethod(), insn.getCallSiteProto() }; DalvInsn di = new MultiCstInsn(opcode, pos, regs, constants); addOutput(di); }
/** {@inheritDoc} */ @Override public void visitInvokePolymorphicInsn(InvokePolymorphicInsn insn) { SourcePosition pos = insn.getPosition(); Dop opcode = RopToDop.dopFor(insn); Rop rop = insn.getOpcode(); if (rop.getBranchingness() != Rop.BRANCH_THROW) { throw new RuntimeException("Expected BRANCH_THROW got " + rop.getBranchingness()); } else if (!rop.isCallLike()) { throw new RuntimeException("Expected call-like operation"); } addOutput(lastAddress); RegisterSpecList regs = insn.getSources(); Constant[] constants = new Constant[] { insn.getPolymorphicMethod(), insn.getCallSiteProto() }; DalvInsn di = new MultiCstInsn(opcode, pos, regs, constants); addOutput(di); }
if (rop.isCallLike()) { RegisterSpecList regs = insn.getSources(); DalvInsn di = new CstInsn(opcode, pos, regs, cst);
if (rop.isCallLike()) { RegisterSpecList regs = insn.getSources(); DalvInsn di = new CstInsn(opcode, pos, regs, cst);
if (rop.isCallLike()) { RegisterSpecList regs = insn.getSources(); DalvInsn di = new CstInsn(opcode, pos, regs, cst);
if (rop.isCallLike()) { RegisterSpecList regs = insn.getSources(); DalvInsn di = new CstInsn(opcode, pos, regs, cst);
if (rop.isCallLike()) { RegisterSpecList regs = insn.getSources(); DalvInsn di = new CstInsn(opcode, pos, regs, cst);
if (rop.isCallLike()) { RegisterSpecList regs = insn.getSources(); DalvInsn di = new CstInsn(opcode, pos, regs, cst);
if (rop.isCallLike()) { RegisterSpecList regs = insn.getSources(); DalvInsn di = new CstInsn(opcode, pos, regs, cst);
if (rop.isCallLike()) { RegisterSpecList regs = insn.getSources(); DalvInsn di = new CstInsn(opcode, pos, regs, cst);
Insn ropInsn = insn.getOriginalRopInsn(); if (ropInsn.getOpcode().getBranchingness() != Rop.BRANCH_NONE || ropInsn.getOpcode().isCallLike()) { simulateBranch(insn);
Insn ropInsn = insn.getOriginalRopInsn(); if (ropInsn.getOpcode().getBranchingness() != Rop.BRANCH_NONE || ropInsn.getOpcode().isCallLike()) { simulateBranch(insn);