String method = JavaNameMangler.demangleMethodName(names[1]); if (operation.equals("call")) { site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, method, false, false, true); } else if (operation.equals("fcall")) { site = new JRubyCallSite(lookup, type, CallType.FUNCTIONAL, file, line, method, false, false, true); } else if (operation.equals("vcall")) { site = new JRubyCallSite(lookup, type, CallType.VARIABLE, file, line, method, false, false, true); } else if (operation.equals("callIter")) { site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, method, false, true, true); } else if (operation.equals("fcallIter")) { site = new JRubyCallSite(lookup, type, CallType.FUNCTIONAL, file, line, method, false, true, true); } else if (operation.equals("vcallIter")) { site = new JRubyCallSite(lookup, type, CallType.VARIABLE, file, line, method, false, true, true); } else if (operation.equals("attrAssign")) { site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, method, true, false, false); } else if (operation.equals("attrAssignSelf")) { site = new JRubyCallSite(lookup, type, CallType.VARIABLE, file, line, method, true, false, false); } else if (operation.equals("attrAssignExpr")) { site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, method, true, false, true); } else if (operation.equals("attrAssignSelfExpr")) { site = new JRubyCallSite(lookup, type, CallType.VARIABLE, file, line, method, true, false, true); } else { throw new RuntimeException("wrong invokedynamic target: " + name);
String method = JavaNameMangler.demangleMethodName(names[1]); if (operation.equals("call")) { site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, method, false, false, true); } else if (operation.equals("fcall")) { site = new JRubyCallSite(lookup, type, CallType.FUNCTIONAL, file, line, method, false, false, true); } else if (operation.equals("vcall")) { site = new JRubyCallSite(lookup, type, CallType.VARIABLE, file, line, method, false, false, true); } else if (operation.equals("callIter")) { site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, method, false, true, true); } else if (operation.equals("fcallIter")) { site = new JRubyCallSite(lookup, type, CallType.FUNCTIONAL, file, line, method, false, true, true); } else if (operation.equals("vcallIter")) { site = new JRubyCallSite(lookup, type, CallType.VARIABLE, file, line, method, false, true, true); } else if (operation.equals("attrAssign")) { site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, method, true, false, false); } else if (operation.equals("attrAssignSelf")) { site = new JRubyCallSite(lookup, type, CallType.VARIABLE, file, line, method, true, false, false); } else if (operation.equals("attrAssignExpr")) { site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, method, true, false, true); } else if (operation.equals("attrAssignSelfExpr")) { site = new JRubyCallSite(lookup, type, CallType.VARIABLE, file, line, method, true, false, true); } else { throw new RuntimeException("wrong invokedynamic target: " + name);
public static CallSite fixnumOperatorBootstrap(Lookup lookup, String name, MethodType type, long value, String file, int line) throws NoSuchMethodException, IllegalAccessException { String[] names = name.split(":"); String operator = JavaNameMangler.demangleMethodName(names[1]); JRubyCallSite site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, operator, false, false, true); MethodHandle target = lookup.findStatic(MathLinker.class, "fixnumOperator", methodType(IRubyObject.class, ThreadContext.class, IRubyObject.class, IRubyObject.class, JRubyCallSite.class, long.class)); target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite fixnumBooleanBootstrap(Lookup lookup, String name, MethodType type, long value, String file, int line) throws NoSuchMethodException, IllegalAccessException { String[] names = name.split(":"); String operator = JavaNameMangler.demangleMethodName(names[1]); JRubyCallSite site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, operator, false, false, true); MethodHandle target = lookup.findStatic(MathLinker.class, "fixnumBoolean", methodType(boolean.class, ThreadContext.class, IRubyObject.class, IRubyObject.class, JRubyCallSite.class, long.class)); target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite fixnumBooleanBootstrap(Lookup lookup, String name, MethodType type, long value, String file, int line) throws NoSuchMethodException, IllegalAccessException { String[] names = name.split(":"); String operator = JavaNameMangler.demangleMethodName(names[1]); JRubyCallSite site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, operator, false, false, true); MethodHandle target = lookup.findStatic(MathLinker.class, "fixnumBoolean", methodType(boolean.class, ThreadContext.class, IRubyObject.class, IRubyObject.class, JRubyCallSite.class, long.class)); target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite floatOperatorBootstrap(Lookup lookup, String name, MethodType type, double value, String file, int line) throws NoSuchMethodException, IllegalAccessException { String[] names = name.split(":"); String operator = JavaNameMangler.demangleMethodName(names[1]); JRubyCallSite site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, operator, false, false, true); MethodHandle target = lookup.findStatic(MathLinker.class, "floatOperator", methodType(IRubyObject.class, ThreadContext.class, IRubyObject.class, IRubyObject.class, JRubyCallSite.class, double.class)); target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite floatOperatorBootstrap(Lookup lookup, String name, MethodType type, double value, String file, int line) throws NoSuchMethodException, IllegalAccessException { String[] names = name.split(":"); String operator = JavaNameMangler.demangleMethodName(names[1]); JRubyCallSite site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, operator, false, false, true); MethodHandle target = lookup.findStatic(MathLinker.class, "floatOperator", methodType(IRubyObject.class, ThreadContext.class, IRubyObject.class, IRubyObject.class, JRubyCallSite.class, double.class)); target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite fixnumOperatorBootstrap(Lookup lookup, String name, MethodType type, long value, String file, int line) throws NoSuchMethodException, IllegalAccessException { String[] names = name.split(":"); String operator = JavaNameMangler.demangleMethodName(names[1]); JRubyCallSite site = new JRubyCallSite(lookup, type, CallType.NORMAL, file, line, operator, false, false, true); MethodHandle target = lookup.findStatic(MathLinker.class, "fixnumOperator", methodType(IRubyObject.class, ThreadContext.class, IRubyObject.class, IRubyObject.class, JRubyCallSite.class, long.class)); target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite fixnumOperatorBootstrap(Lookup lookup, String name, MethodType type, long value, int callType, String file, int line) throws NoSuchMethodException, IllegalAccessException { List<String> names = StringSupport.split(name, ':'); String operator = JavaNameMangler.demangleMethodName(names.get(1)); JRubyCallSite site = new JRubyCallSite(lookup, type, CALL_TYPES[callType], file, line, operator, true); MethodHandle target = FIXNUM_OPERATOR; target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite floatOperatorBootstrap(Lookup lookup, String name, MethodType type, double value, int callType, String file, int line) throws NoSuchMethodException, IllegalAccessException { List<String> names = StringSupport.split(name, ':'); String operator = JavaNameMangler.demangleMethodName(names.get(1)); JRubyCallSite site = new JRubyCallSite(lookup, type, CALL_TYPES[callType], file, line, operator, true); MethodHandle target = FLOAT_OPERATOR; target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite fixnumBooleanBootstrap(Lookup lookup, String name, MethodType type, long value, int callType, String file, int line) throws NoSuchMethodException, IllegalAccessException { List<String> names = StringSupport.split(name, ':'); String operator = JavaNameMangler.demangleMethodName(names.get(1)); JRubyCallSite site = new JRubyCallSite(lookup, type, CALL_TYPES[callType], file, line, operator, true); MethodHandle target = FIXNUM_BOOLEAN; target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite fixnumOperatorBootstrap(Lookup lookup, String name, MethodType type, long value, int callType, String file, int line) throws NoSuchMethodException, IllegalAccessException { List<String> names = StringSupport.split(name, ':'); String operator = JavaNameMangler.demangleMethodName(names.get(1)); JRubyCallSite site = new JRubyCallSite(lookup, type, CALL_TYPES[callType], file, line, operator, true); MethodHandle target = FIXNUM_OPERATOR; target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite fixnumBooleanBootstrap(Lookup lookup, String name, MethodType type, long value, int callType, String file, int line) throws NoSuchMethodException, IllegalAccessException { List<String> names = StringSupport.split(name, ':'); String operator = JavaNameMangler.demangleMethodName(names.get(1)); JRubyCallSite site = new JRubyCallSite(lookup, type, CALL_TYPES[callType], file, line, operator, true); MethodHandle target = FIXNUM_BOOLEAN; target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }
public static CallSite floatOperatorBootstrap(Lookup lookup, String name, MethodType type, double value, int callType, String file, int line) throws NoSuchMethodException, IllegalAccessException { List<String> names = StringSupport.split(name, ':'); String operator = JavaNameMangler.demangleMethodName(names.get(1)); JRubyCallSite site = new JRubyCallSite(lookup, type, CALL_TYPES[callType], file, line, operator, true); MethodHandle target = FLOAT_OPERATOR; target = insertArguments(target, 3, site, value); site.setTarget(target); return site; }