Class ProfilingCachingCallSite


public class ProfilingCachingCallSite extends CachingCallSite
An interesting callsite in which we will look for monomorphic behavior in case we want to inline.
  • Field Details

    • LOG

      public static final Logger LOG
  • Constructor Details

    • ProfilingCachingCallSite

      public ProfilingCachingCallSite(CallType callType, String methodName, IRScope scope, long callSiteId)
  • Method Details

    • methodMissing

      protected boolean methodMissing(DynamicMethod method, IRubyObject caller)
      Overrides:
      methodMissing in class CachingCallSite
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, long fixnum)
      Description copied from class: CallSite
      Call the site's method against the target object, passing a literal long value.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      fixnum - the literal long value to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, double flote)
      Description copied from class: CallSite
      Call the site's method against the target object, passing a literal double value.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      flote - the literal double value to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args)
      Description copied from class: CallSite
      Call the site's method against the target object passing arguments.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      args - the arguments to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block)
      Description copied from class: CallSite
      Call the site's method against the target object passing one argument and a non-literal (block pass, &) block.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      args - the arguments to pass
      block - the block argument to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self)
      Description copied from class: CallSite
      Call the site's method against the target object passing no args.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, Block block)
      Description copied from class: CallSite
      Call the site's method against the target object passing no arguments and a non-literal (block pass, &) block.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      block - the block argument to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1)
      Description copied from class: CallSite
      Call the site's method against the target object passing one argument.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      arg1 - the argument to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block)
      Description copied from class: CallSite
      Call the site's method against the target object passing one argument and a non-literal (block pass, &) block.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      arg1 - the argument to pass
      block - the block argument to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2)
      Description copied from class: CallSite
      Call the site's method against the target object passing two arguments.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      arg1 - the first argument to pass
      arg2 - the second argument to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block)
      Description copied from class: CallSite
      Call the site's method against the target object passing two arguments and a non-literal (block pass, &) block.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      arg1 - the first argument to pass
      arg2 - the second argument to pass
      block - the block argument to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3)
      Description copied from class: CallSite
      Call the site's method against the target object passing two arguments.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      arg1 - the first argument to pass
      arg2 - the second argument to pass
      arg3 - the third argument to pass
      Returns:
      the result of the call
    • call

      public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block)
      Description copied from class: CallSite
      Call the site's method against the target object passing three arguments and a non-literal (block pass, &) block.
      Overrides:
      call in class CachingCallSite
      Parameters:
      context - the ThreadContext for the current thread
      caller - the caller, for visibility checks
      self - the target object to call against
      arg1 - the first argument to pass
      arg2 - the second argument to pass
      arg3 - the third argument to pass
      block - the block argument to pass
      Returns:
      the result of the call