Refine search
public void getField(String name) { adapter.dup(); // self, self cacheVariableAccessor(name, false); // self, accessor loadContext(); // self, accessor, context adapter.ldc(name); invokeIRHelper("getVariableWithAccessor", sig(IRubyObject.class, IRubyObject.class, VariableAccessor.class, ThreadContext.class, String.class)); }
public void getField(String name) { adapter.dup(); // self, self cacheVariableAccessor(name, false); // self, accessor loadContext(); // self, accessor, context adapter.ldc(name); invokeIRHelper("getVariableWithAccessor", sig(IRubyObject.class, IRubyObject.class, VariableAccessor.class, ThreadContext.class, String.class)); }
@Override public void callEqq(EQQInstr call) { IRBytecodeAdapter.cacheCallSite(adapter, getClassData().clsName, getUniqueSiteName(call.getId()), null, call); adapter.ldc(call.isSplattedValue()); invokeIRHelper("isEQQ", sig(IRubyObject.class, ThreadContext.class, IRubyObject.class, IRubyObject.class, CallSite.class, boolean.class)); }
@Override public void callEqq(EQQInstr call) { IRBytecodeAdapter.cacheCallSite(adapter, getClassData().clsName, getUniqueSiteName(call.getId()), null, call); adapter.ldc(call.isSplattedValue()); invokeIRHelper("isEQQ", sig(IRubyObject.class, ThreadContext.class, IRubyObject.class, IRubyObject.class, CallSite.class, boolean.class)); }
public void createDRegexp19(ArrayCallback arrayCallback, Object[] sourceArray, int options) { boolean onceOnly = (options & ReOptions.RE_OPTION_ONCE) != 0; // for regular expressions with the /o flag if (onceOnly) { script.getCacheCompiler().cacheDRegexp19(this, arrayCallback, sourceArray, options); } else { loadRuntime(); createObjectArray(sourceArray, arrayCallback); method.ldc(options); method.invokestatic(p(RubyRegexp.class), "newDRegexpEmbedded19", sig(RubyRegexp.class, params(Ruby.class, IRubyObject[].class, int.class))); //[reg] } }
@Override public void RaiseRequiredKeywordArgumentErrorInstr(RaiseRequiredKeywordArgumentError instr) { jvmMethod().loadContext(); jvmAdapter().ldc(instr.getId()); jvmMethod().invokeIRHelper("newRequiredKeywordArgumentError", sig(RaiseException.class, ThreadContext.class, String.class)); jvmAdapter().athrow(); }
@Override public void RaiseRequiredKeywordArgumentErrorInstr(RaiseRequiredKeywordArgumentError instr) { jvmMethod().loadContext(); jvmAdapter().ldc(instr.getId()); jvmMethod().invokeIRHelper("newRequiredKeywordArgumentError", sig(RaiseException.class, ThreadContext.class, String.class)); jvmAdapter().athrow(); }
@Override public void OptArgMultipleAsgnInstr(OptArgMultipleAsgnInstr optargmultipleasgninstr) { visit(optargmultipleasgninstr.getArray()); jvmAdapter().checkcast(p(RubyArray.class)); jvmAdapter().ldc(optargmultipleasgninstr.getMinArgsLength()); jvmAdapter().ldc(optargmultipleasgninstr.getIndex()); jvmAdapter().invokestatic(p(IRRuntimeHelpers.class), "extractOptionalArgument", sig(IRubyObject.class, RubyArray.class, int.class, int.class)); jvmStoreLocal(optargmultipleasgninstr.getResult()); }