@Override public void invokeOtherOneFixnum(String file, int line, CallBase call, long fixnum) { String id = call.getId(); if (!MethodIndex.hasFastFixnumOps(id)) { pushFixnum(fixnum); if (call.getCallType() == CallType.NORMAL) { invokeOther(file, line, null, call, 1); } else { invokeSelf(file, line, null, call, 1); } return; } String signature = sig(IRubyObject.class, params(ThreadContext.class, IRubyObject.class, IRubyObject.class)); adapter.invokedynamic( "fixnumOperator:" + JavaNameMangler.mangleMethodName(id), signature, Bootstrap.getFixnumOperatorHandle(), fixnum, call.getCallType().ordinal(), "", 0); }
@Override public void invokeOtherOneFixnum(String file, int line, CallBase call, long fixnum) { String id = call.getId(); if (!MethodIndex.hasFastFixnumOps(id)) { pushFixnum(fixnum); if (call.getCallType() == CallType.NORMAL) { invokeOther(file, line, null, call, 1); } else { invokeSelf(file, line, null, call, 1); } return; } String signature = sig(IRubyObject.class, params(ThreadContext.class, IRubyObject.class, IRubyObject.class)); adapter.invokedynamic( "fixnumOperator:" + JavaNameMangler.mangleMethodName(id), signature, Bootstrap.getFixnumOperatorHandle(), fixnum, call.getCallType().ordinal(), "", 0); }