public CompiledIRMethod(MethodHandle method, String name, String file, int line, StaticScope scope, Visibility visibility, RubyModule implementationClass) { super(implementationClass, visibility, CallConfiguration.FrameNoneScopeNone); this.method = method; this.name = name; this.file = file; this.line = line; this.scope = scope; this.arity = calculateArity(); setHandle(method); }
public CompiledIRMethod(MethodHandle method, String name, String file, int line, StaticScope scope, Visibility visibility, RubyModule implementationClass) { super(implementationClass, visibility, CallConfiguration.FrameNoneScopeNone); this.method = method; this.name = name; this.file = file; this.line = line; this.scope = scope; this.arity = calculateArity(); setHandle(method); }
public CompiledIRMethod(MethodHandle variable, MethodHandle specific, int specificArity, IRScope method, Visibility visibility, RubyModule implementationClass) { super(method, visibility, implementationClass); this.variable = variable; this.specific = specific; // deopt unboxing if we have to process kwargs hash (although this really has nothing to do with arg // unboxing -- it was a simple path to hacking this in). this.specificArity = method.receivesKeywordArgs() ? -1 : specificArity; this.method.getStaticScope().determineModule(); assert method.hasExplicitCallProtocol(); setHandle(variable); method.compilable = this; }
public CompiledIRMethod(MethodHandle variable, MethodHandle specific, int specificArity, IRScope method, Visibility visibility, RubyModule implementationClass) { super(method, visibility, implementationClass); this.variable = variable; this.specific = specific; // deopt unboxing if we have to process kwargs hash (although this really has nothing to do with arg // unboxing -- it was a simple path to hacking this in). this.specificArity = method.receivesKeywordArgs() ? -1 : specificArity; this.method.getStaticScope().determineModule(); assert method.hasExplicitCallProtocol(); setHandle(variable); method.compilable = this; }