@Override public void CheckArgsArrayArityInstr(CheckArgsArrayArityInstr checkargsarrayarityinstr) { jvmMethod().loadContext(); visit(checkargsarrayarityinstr.getArgsArray()); jvmAdapter().pushInt(checkargsarrayarityinstr.required); jvmAdapter().pushInt(checkargsarrayarityinstr.opt); jvmAdapter().pushBoolean(checkargsarrayarityinstr.rest); jvmMethod().invokeStatic(Type.getType(Helpers.class), Method.getMethod("void irCheckArgsArrayArity(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, int, int, boolean)")); }
@Override public void CheckArgsArrayArityInstr(CheckArgsArrayArityInstr checkargsarrayarityinstr) { jvmMethod().loadContext(); visit(checkargsarrayarityinstr.getArgsArray()); jvmAdapter().pushInt(checkargsarrayarityinstr.required); jvmAdapter().pushInt(checkargsarrayarityinstr.opt); jvmAdapter().pushBoolean(checkargsarrayarityinstr.rest); jvmMethod().invokeStatic(Type.getType(Helpers.class), Method.getMethod("void irCheckArgsArrayArity(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, int, int, boolean)")); }
@Override public void CheckArgsArrayArityInstr(CheckArgsArrayArityInstr checkargsarrayarityinstr) { jvm.method().loadContext(); visit(checkargsarrayarityinstr.getArgsArray()); jvm.method().adapter.pushInt(checkargsarrayarityinstr.required); jvm.method().adapter.pushInt(checkargsarrayarityinstr.opt); jvm.method().adapter.pushInt(checkargsarrayarityinstr.rest); jvm.method().invokeStatic(Type.getType(Helpers.class), Method.getMethod("void irCheckArgsArrayArity(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, int, int, int)")); }
@Override public void CheckArgsArrayArityInstr(CheckArgsArrayArityInstr checkargsarrayarityinstr) { jvm.method().loadContext(); visit(checkargsarrayarityinstr.getArgsArray()); jvm.method().adapter.pushInt(checkargsarrayarityinstr.required); jvm.method().adapter.pushInt(checkargsarrayarityinstr.opt); jvm.method().adapter.pushInt(checkargsarrayarityinstr.rest); jvm.method().invokeStatic(Type.getType(Helpers.class), Method.getMethod("void irCheckArgsArrayArity(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, int, int, int)")); }
@Override public void EnsureRubyArrayInstr(EnsureRubyArrayInstr ensurerubyarrayinstr) { visit(ensurerubyarrayinstr.getObject()); jvm.method().adapter.dup(); org.objectweb.asm.Label after = new org.objectweb.asm.Label(); jvm.method().adapter.instance_of("org/jruby/RubyArray"); jvm.method().adapter.iftrue(after); jvm.method().adapter.swap(); jvm.method().loadRuntime(); jvm.method().adapter.ldc(false); jvm.method().invokeStatic(Type.getType(ArgsUtil.class), Method.getMethod("org.jruby.RubyArray convertToRubyArray(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, boolean)")); jvm.method().adapter.label(after); jvmStoreLocal(ensurerubyarrayinstr.getResult()); }
@Override public void EnsureRubyArrayInstr(EnsureRubyArrayInstr ensurerubyarrayinstr) { visit(ensurerubyarrayinstr.getObject()); jvm.method().adapter.dup(); org.objectweb.asm.Label after = new org.objectweb.asm.Label(); jvm.method().adapter.instance_of("org/jruby/RubyArray"); jvm.method().adapter.iftrue(after); jvm.method().adapter.swap(); jvm.method().loadRuntime(); jvm.method().adapter.ldc(false); jvm.method().invokeStatic(Type.getType(ArgsUtil.class), Method.getMethod("org.jruby.RubyArray convertToRubyArray(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, boolean)")); jvm.method().adapter.label(after); jvmStoreLocal(ensurerubyarrayinstr.getResult()); }