@Override public Instr cloneForInlining(InlinerInfo ii) { return new ReturnInstr(returnValue.cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo info) { if (info instanceof SimpleCloneInfo) return new ReturnInstr(getReturnValue().cloneForInlining(info)); InlineCloneInfo ii = (InlineCloneInfo) info; if (ii.isClosure()) return new CopyInstr(ii.getYieldResult(), getReturnValue().cloneForInlining(ii)); Variable v = ii.getCallResultVariable(); return v == null ? null : new CopyInstr(v, getReturnValue().cloneForInlining(ii)); }
@Override public String toString() { return getOperation() + "(" + returnValue + ")"; }
@Override public void encode(IRWriterEncoder e) { super.encode(e); e.encode(getReturnValue()); }
case RESCUE_EQQ: return RescueEQQInstr.decode(this); case RESTORE_ERROR_INFO: return RestoreErrorInfoInstr.decode(this); case RETURN: return ReturnInstr.decode(this); case RETURN_OR_RETHROW_SAVED_EXC: return ReturnOrRethrowSavedExcInstr.decode(this); case RUNTIME_HELPER: return RuntimeHelperCall.decode(this);
@Override public void encode(IRWriterEncoder e) { super.encode(e); e.encode(getReturnValue()); }
case RESCUE_EQQ: return RescueEQQInstr.decode(this); case RESTORE_ERROR_INFO: return RestoreErrorInfoInstr.decode(this); case RETURN: return ReturnInstr.decode(this); case RETURN_OR_RETHROW_SAVED_EXC: return ReturnOrRethrowSavedExcInstr.decode(this); case RUNTIME_HELPER: return RuntimeHelperCall.decode(this);
public static ReturnInstr decode(IRReaderDecoder d) { return new ReturnInstr(d.decodeOperand()); }
@Override public Instr clone(CloneInfo info) { if (info instanceof SimpleCloneInfo) return new ReturnInstr(getReturnValue().cloneForInlining(info)); InlineCloneInfo ii = (InlineCloneInfo) info; if (ii.isClosure()) return new CopyInstr(ii.getYieldResult(), getReturnValue().cloneForInlining(ii)); Variable v = ii.getCallResultVariable(); return v == null ? null : new CopyInstr(v, getReturnValue().cloneForInlining(ii)); }
@Override public void ReturnInstr(ReturnInstr returninstr) { visit(returninstr.getReturnValue()); jvm.method().returnValue(); }
@Override public String toString() { return getOperation() + "(" + returnValue + ")"; }
@Override public Instr cloneForInlining(InlinerInfo ii) { return new ReturnInstr(returnValue.cloneForInlining(ii)); }
Instr first = rbInstrs.get(0); if (first instanceof ReturnInstr) { Operand rv = ((ReturnInstr)first).getReturnValue(); if (rv instanceof Variable) { for (Edge<BasicBlock> e : getIncomingEdges(retBB)) { srcInstrs.set(n-1, new ReturnInstr(((CopyInstr)last).getSource())); toRemove.add(e); addEdge(srcBB, exitBB, EdgeType.EXIT);
@Override public void ReturnInstr(ReturnInstr returninstr) { visit(returninstr.getReturnValue()); jvmMethod().returnValue(); }
public static ReturnInstr decode(IRReaderDecoder d) { return new ReturnInstr(d.decodeOperand()); }
Instr first = rbInstrs.get(0); if (first instanceof ReturnInstr) { Operand rv = ((ReturnInstr)first).getReturnValue(); if (rv instanceof Variable) { for (Edge<BasicBlock> e : getIncomingEdges(retBB)) { srcInstrs.set(n-1, new ReturnInstr(((CopyInstr)last).getSource())); toRemove.add(e); addEdge(srcBB, exitBB, EdgeType.EXIT);
@Override public void ReturnInstr(ReturnInstr returninstr) { visit(returninstr.getReturnValue()); jvmMethod().returnValue(); }
current.addInstr(new ReturnInstr(cfg.getScope().getManager().getNil())); continue;
@Override public void ReturnInstr(ReturnInstr returninstr) { visit(returninstr.getReturnValue()); jvm.method().returnValue(); }
current.addInstr(new ReturnInstr(cfg.getScope().getManager().getNil())); continue;