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)