@Override public Instr cloneForInlining(InlinerInfo ii) { return new ZSuperInstr(ii.getRenamedVariable(result), getReceiver().cloneForInlining(ii), closure == null ? null : closure.cloneForInlining(ii)); }
@Override public Instr cloneForInlining(InlinerInfo ii) { return new ZSuperInstr(ii.getRenamedVariable(result), getReceiver().cloneForInlining(ii), closure == null ? null : closure.cloneForInlining(ii)); }
public static ZSuperInstr decode(IRReaderDecoder d) { if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("decoding call"); int callTypeOrdinal = d.decodeInt(); CallType callType = CallType.fromOrdinal(callTypeOrdinal); if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("decoding call, calltype(ord): " + callType); RubySymbol methAddr = d.decodeSymbol(); if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("decoding call, methaddr: " + methAddr); Operand receiver = d.decodeOperand(); int argsCount = d.decodeInt(); boolean hasClosureArg = argsCount < 0; int argsLength = hasClosureArg ? (-1 * (argsCount + 1)) : argsCount; if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("ARGS: " + argsLength + ", CLOSURE: " + hasClosureArg); Operand[] args = new Operand[argsLength]; for (int i = 0; i < argsLength; i++) { args[i] = d.decodeOperand(); } Operand closure = hasClosureArg ? d.decodeOperand() : null; if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("before result"); Variable result = d.decodeVariable(); if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("decoding call, result: " + result); return new ZSuperInstr(d.getCurrentScope(), result, receiver, args, closure, d.getCurrentScope().maybeUsingRefinements()); }
public static ZSuperInstr decode(IRReaderDecoder d) { if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("decoding call"); int callTypeOrdinal = d.decodeInt(); CallType callType = CallType.fromOrdinal(callTypeOrdinal); if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("decoding call, calltype(ord): " + callType); RubySymbol methAddr = d.decodeSymbol(); if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("decoding call, methaddr: " + methAddr); Operand receiver = d.decodeOperand(); int argsCount = d.decodeInt(); boolean hasClosureArg = argsCount < 0; int argsLength = hasClosureArg ? (-1 * (argsCount + 1)) : argsCount; if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("ARGS: " + argsLength + ", CLOSURE: " + hasClosureArg); Operand[] args = new Operand[argsLength]; for (int i = 0; i < argsLength; i++) { args[i] = d.decodeOperand(); } Operand closure = hasClosureArg ? d.decodeOperand() : null; if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("before result"); Variable result = d.decodeVariable(); if (RubyInstanceConfig.IR_READING_DEBUG) System.out.println("decoding call, result: " + result); return new ZSuperInstr(d.getCurrentScope(), result, receiver, args, closure, d.getCurrentScope().maybeUsingRefinements()); }
@Override public Instr clone(CloneInfo ii) { return new ZSuperInstr(ii.getScope(), ii.getRenamedVariable(getResult()), getReceiver().cloneForInlining(ii), cloneCallArgs(ii), getClosureArg() == null ? null : getClosureArg().cloneForInlining(ii), isPotentiallyRefined(), getCallSite(), getCallSiteId()); }
@Override public Instr clone(CloneInfo ii) { return new ZSuperInstr(ii.getScope(), ii.getRenamedVariable(getResult()), getReceiver().cloneForInlining(ii), cloneCallArgs(ii), getClosureArg() == null ? null : getClosureArg().cloneForInlining(ii), isPotentiallyRefined(), getCallSite(), getCallSiteId()); }
receiveBreakException(s, block, new ZSuperInstr(ret, getSelf(s), block)); return ret;
receiveBreakException(s, block, new ZSuperInstr(ret, getSelf(s), block)); return ret;