@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope dynamicScope, IRubyObject self, Object[] temp) { IRubyObject object = (IRubyObject) getReceiver().retrieve(context, self, currScope, dynamicScope, temp); return getCallSite().call(context, self, object, flote); } }
@Override public Object interpret(ThreadContext context, StaticScope currScope, DynamicScope dynamicScope, IRubyObject self, Object[] temp) { IRubyObject object = (IRubyObject) getReceiver().retrieve(context, self, currScope, dynamicScope, temp); return getCallSite().call(context, self, object, flote); } }
@Override public Instr clone(CloneInfo ii) { return new OneFloatArgNoBlockCallInstr(ii.getScope(), getCallType(), ii.getRenamedVariable(result), getName(), getReceiver().cloneForInlining(ii), cloneCallArgs(ii), isPotentiallyRefined(), getCallSite(), getCallSiteId()); }
@Override public Instr clone(CloneInfo ii) { return new OneFloatArgNoBlockCallInstr(ii.getScope(), getCallType(), ii.getRenamedVariable(result), getName(), getReceiver().cloneForInlining(ii), cloneCallArgs(ii), isPotentiallyRefined(), getCallSite(), getCallSiteId()); }
public void oneFloatArgNoBlockCallInstr(OneFloatArgNoBlockCallInstr oneFloatArgNoBlockCallInstr) { IRBytecodeAdapter m = jvmMethod(); String name = oneFloatArgNoBlockCallInstr.getId(); double flote = oneFloatArgNoBlockCallInstr.getFloatArg(); Operand receiver = oneFloatArgNoBlockCallInstr.getReceiver(); Variable result = oneFloatArgNoBlockCallInstr.getResult(); m.loadContext(); // for visibility checking without requiring frame self // TODO: don't bother passing when fcall or vcall, and adjust callsite appropriately m.loadSelf(); // caller visit(receiver); m.invokeOtherOneFloat(file, lastLine, oneFloatArgNoBlockCallInstr, flote); if (result != null) { jvmStoreLocal(result); } else { // still need to drop, since all dyncalls return something (FIXME) m.adapter.pop(); } }
public void oneFloatArgNoBlockCallInstr(OneFloatArgNoBlockCallInstr oneFloatArgNoBlockCallInstr) { IRBytecodeAdapter m = jvmMethod(); String name = oneFloatArgNoBlockCallInstr.getId(); double flote = oneFloatArgNoBlockCallInstr.getFloatArg(); Operand receiver = oneFloatArgNoBlockCallInstr.getReceiver(); Variable result = oneFloatArgNoBlockCallInstr.getResult(); m.loadContext(); // for visibility checking without requiring frame self // TODO: don't bother passing when fcall or vcall, and adjust callsite appropriately m.loadSelf(); // caller visit(receiver); m.invokeOtherOneFloat(file, lastLine, oneFloatArgNoBlockCallInstr, flote); if (result != null) { jvmStoreLocal(result); } else { // still need to drop, since all dyncalls return something (FIXME) m.adapter.pop(); } }
IRubyObject r = (IRubyObject)retrieveOp(call.getReceiver(), context, self, currDynScope, currScope, temp); result = call.getCallSite().call(context, self, r, call.getFloatArg()); setResult(temp, currDynScope, call.getResult(), result);
IRubyObject r = (IRubyObject)retrieveOp(call.getReceiver(), context, self, currDynScope, currScope, temp); result = call.getCallSite().call(context, self, r, call.getFloatArg()); setResult(temp, currDynScope, call.getResult(), result);