@Override public Operand simplifyAndGetResult(IRScope scope, Map<Operand, Operand> valueMap) { simplifyOperands(valueMap, false); Operand a = getArray().getValue(valueMap); return a instanceof Array ? a : null; }
@Override public void encode(IRWriterEncoder e) { super.encode(e); e.encode(getArray()); }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { return IRRuntimeHelpers.irToAry(context, (IRubyObject) getArray().retrieve(context, self, currScope, currDynScope, temp)); }
@Override public Operand simplifyAndGetResult(IRScope scope, Map<Operand, Operand> valueMap) { simplifyOperands(valueMap, false); Operand a = getArray().getValue(valueMap); return a instanceof Array ? a : null; }
@Override public void encode(IRWriterEncoder e) { super.encode(e); e.encode(getArray()); }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { return IRRuntimeHelpers.irToAry(context, (IRubyObject) getArray().retrieve(context, self, currScope, currDynScope, temp)); }
@Override public Instr clone(CloneInfo ii) { return new ToAryInstr((Variable) result.cloneForInlining(ii), getArray().cloneForInlining(ii)); }
@Override public Instr clone(CloneInfo ii) { return new ToAryInstr((Variable) result.cloneForInlining(ii), getArray().cloneForInlining(ii)); }
@Override public void ToAryInstr(ToAryInstr toaryinstr) { jvmMethod().loadContext(); visit(toaryinstr.getArray()); jvmMethod().invokeIRHelper("irToAry", sig(IRubyObject.class, ThreadContext.class, IRubyObject.class)); jvmStoreLocal(toaryinstr.getResult()); }
@Override public void ToAryInstr(ToAryInstr toaryinstr) { jvmMethod().loadContext(); visit(toaryinstr.getArray()); jvmMethod().invokeIRHelper("irToAry", sig(IRubyObject.class, ThreadContext.class, IRubyObject.class)); jvmStoreLocal(toaryinstr.getResult()); }