Package org.codehaus.groovy.vmplugin.v8

# Class CacheableCallSite

java.lang.Object
java.lang.invoke.CallSite
java.lang.invoke.MutableCallSite
org.codehaus.groovy.vmplugin.v8.CacheableCallSite

public class CacheableCallSite extends MutableCallSite
Represents a cacheable call site, which can reduce the cost of resolving methods

Since:
  3.0.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CacheableCallSite(MethodType type)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `org.codehaus.groovy.vmplugin.v8.MethodHandleWrapper`
  `getAndPut(String className, MemoizeCache.ValueProvider<? super String,? extends org.codehaus.groovy.vmplugin.v8.MethodHandleWrapper> valueProvider)`
  `MethodHandle`
  `getDefaultTarget()`
  `MethodHandle`
  `getFallbackTarget()`
  `long`
  `incrementFallbackCount()`
  `org.codehaus.groovy.vmplugin.v8.MethodHandleWrapper`
  `put(String name, org.codehaus.groovy.vmplugin.v8.MethodHandleWrapper mhw)`
  `void`
  `resetFallbackCount()`
  `void`
  `setDefaultTarget(MethodHandle defaultTarget)`
  `void`
  `setFallbackTarget(MethodHandle fallbackTarget)`

  ### Methods inherited from class java.lang.invoke.MutableCallSite

  `dynamicInvoker, getTarget, setTarget, syncAll`

  ### Methods inherited from class java.lang.invoke.CallSite

  `type`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CacheableCallSite

    public CacheableCallSite(MethodType type)

- ## Method Details

  - ### getAndPut

    public org.codehaus.groovy.vmplugin.v8.MethodHandleWrapper getAndPut(String className, MemoizeCache.ValueProvider<? super String,? extends org.codehaus.groovy.vmplugin.v8.MethodHandleWrapper> valueProvider)

  - ### put

    public org.codehaus.groovy.vmplugin.v8.MethodHandleWrapper put(String name, org.codehaus.groovy.vmplugin.v8.MethodHandleWrapper mhw)

  - ### incrementFallbackCount

    public long incrementFallbackCount()

  - ### resetFallbackCount

    public void resetFallbackCount()

  - ### getDefaultTarget

    public MethodHandle getDefaultTarget()

  - ### setDefaultTarget

    public void setDefaultTarget(MethodHandle defaultTarget)

  - ### getFallbackTarget

    public MethodHandle getFallbackTarget()

  - ### setFallbackTarget

    public void setFallbackTarget(MethodHandle fallbackTarget)