org.jruby.runtime.invokedynamic
Class InvokeDynamicSupport

java.lang.Object
  extended by org.jruby.runtime.invokedynamic.InvokeDynamicSupport

public class InvokeDynamicSupport
extends java.lang.Object


Nested Class Summary
static class InvokeDynamicSupport.JRubyCallSite
           
 
Constructor Summary
InvokeDynamicSupport()
           
 
Method Summary
static java.dyn.CallSite bootstrap(java.lang.Class caller, java.lang.String name, java.dyn.MethodType type)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, Block block)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, IRubyObject arg0)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, IRubyObject[] args)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, IRubyObject[] args, Block block)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, IRubyObject arg0, Block block)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, IRubyObject arg0, IRubyObject arg1)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, IRubyObject arg0, IRubyObject arg1, Block block)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2)
           
static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site, ThreadContext context, IRubyObject caller, IRubyObject self, java.lang.String name, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
           
static DynamicMethod getMethod(CacheEntry entry)
           
static IRubyObject handleBreakJump(JumpException.BreakJump bj, ThreadContext context)
           
static void installBytecode(org.objectweb.asm.MethodVisitor method, java.lang.String classname)
           
protected static boolean methodMissing(CacheEntry entry, CallType callType, java.lang.String name, IRubyObject caller)
           
static RubyClass pollAndGetClass(ThreadContext context, IRubyObject self)
           
static void registerBootstrap(java.lang.Class cls)
           
static IRubyObject retryJumpError(ThreadContext context)
           
static boolean test(CacheEntry entry, IRubyObject self)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InvokeDynamicSupport

public InvokeDynamicSupport()
Method Detail

bootstrap

public static java.dyn.CallSite bootstrap(java.lang.Class caller,
                                          java.lang.String name,
                                          java.dyn.MethodType type)

registerBootstrap

public static void registerBootstrap(java.lang.Class cls)

installBytecode

public static void installBytecode(org.objectweb.asm.MethodVisitor method,
                                   java.lang.String classname)

test

public static boolean test(CacheEntry entry,
                           IRubyObject self)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   IRubyObject arg0)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   IRubyObject arg0,
                                   IRubyObject arg1)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   IRubyObject arg0,
                                   IRubyObject arg1,
                                   IRubyObject arg2)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   IRubyObject[] args)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   Block block)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   IRubyObject arg0,
                                   Block block)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   IRubyObject arg0,
                                   IRubyObject arg1,
                                   Block block)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   IRubyObject arg0,
                                   IRubyObject arg1,
                                   IRubyObject arg2,
                                   Block block)

fallback

public static IRubyObject fallback(InvokeDynamicSupport.JRubyCallSite site,
                                   ThreadContext context,
                                   IRubyObject caller,
                                   IRubyObject self,
                                   java.lang.String name,
                                   IRubyObject[] args,
                                   Block block)

methodMissing

protected static boolean methodMissing(CacheEntry entry,
                                       CallType callType,
                                       java.lang.String name,
                                       IRubyObject caller)

pollAndGetClass

public static RubyClass pollAndGetClass(ThreadContext context,
                                        IRubyObject self)

handleBreakJump

public static IRubyObject handleBreakJump(JumpException.BreakJump bj,
                                          ThreadContext context)
                                   throws JumpException.BreakJump
Throws:
JumpException.BreakJump

retryJumpError

public static IRubyObject retryJumpError(ThreadContext context)

getMethod

public static final DynamicMethod getMethod(CacheEntry entry)


Copyright © 2002-2009 JRuby Team. All Rights Reserved.