Spec-Zone.ru › OpenJDK 17

Класс SimpleRelinkableCallSite

java.lang.Object
java.lang.invoke.CallSite
java.lang.invoke.MutableCallSite
jdk.dynalink.support.AbstractRelinkableCallSite
jdk.dynalink.support.SimpleRelinkableCallSite
Все реализуемые интерфейсы:
RelinkableCallSite
public class SimpleRelinkableCallSite extends AbstractRelinkableCallSite
Переустанавливаемый вызов, который реализует стратегию мономорфного кеширования встраивания, который связывается только с одним GuardedInvocation в любой момент времени. Если защита этого единственного вызова терпит неудачу или у него есть недействительная точка переключения или сработало исключение для аннулирования, то вызов будет отброшен, и его связанный DynamicLinker запросит его переустановку.

Краткое описание конструкторов

Конструктор Описание
SimpleRelinkableCallSite(CallSiteDescriptor descriptor)
Создаёт новый вызов со стратегией мономорфного кеширования встраивания.

Краткое описание методов

Модификатор и тип Метод Описание
void relink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)
Этот метод вызывается динамическим линкователем каждый раз, когда вызов переустанавливается (но см. RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle) для исключений).
void resetAndRelink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)
Этот метод вызывается динамическим линкователем каждый раз, когда вызов переустанавливается и линковщик хочет, чтобы вызов отбросил любое предыдущее состояние связывания (в этом заключается его отличие от RelinkableCallSite.relink(GuardedInvocation, MethodHandle)).

Методы, объявленные в классе jdk.dynalink.support.AbstractRelinkableCallSite

getDescriptor, initialize

Методы, объявленные в классе java.lang.invoke.MutableCallSite

dynamicInvoker, getTarget, setTarget, syncAll

Методы, объявленные в классе java.lang.invoke.CallSite

type

Методы, объявленные в классе java.lang.Object

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

Подробное описание конструкторов

SimpleRelinkableCallSite

public SimpleRelinkableCallSite(CallSiteDescriptor descriptor)
Создаёт новый вызов со стратегией мономорфного кеширования встраивания.
Параметры:
descriptor - дескриптор для этого вызова

Подробное описание методов

relink

public void relink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)
Описание, скопированное из интерфейса: RelinkableCallSite
Этот метод вызывается динамическим линкователем каждый раз, когда вызов переустанавливается (но см. RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle) для исключений). Ему будет передан GuardedInvocation, который вызов должен включить в целевой обработчик методов. Когда этот метод вызывается, вызов может оставить другие неаннулированные вызовы для реализации полиморфных кешей встраивания и объединить их с этим вызовом, чтобы сформировать его конечную цель.
Параметры:
guardedInvocation - защищённый вызов, который вызов должен включить в целевой обработчик методов.
relinkAndInvoke - обработчик методов переустановки и вызова. Это обработчик методов, соответствующий типу метода вызова, который предоставляется DynamicLinker как обратный вызов. Он должен использоваться этим вызовом в качестве окончательного резервного варианта, когда он не может вызвать свою цель с переданными аргументами. Резервный метод такой, что при его вызове он попытается получить подходящую целевую GuardedInvocation для вызова и впоследствии вызовет RelinkableCallSite.relink(GuardedInvocation, MethodHandle) или RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle), а затем вызовет цель.

resetAndRelink

public void resetAndRelink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)
Описание, скопированное из интерфейса: RelinkableCallSite
Этот метод вызывается динамическим линкователем каждый раз, когда вызов переустанавливается и линковщик хочет, чтобы вызов отбросил любое предыдущее состояние связывания (в этом заключается его отличие от RelinkableCallSite.relink(GuardedInvocation, MethodHandle)). Ему будет передан GuardedInvocation, который вызов должен использовать для построения нового целевого обработчика методов. Когда этот метод вызывается, вызов не рекомендуется сохранять предыдущее состояние и должен связать только текущий вызов.
Параметры:
guardedInvocation - защищённый вызов, который вызов должен использовать для построения своего целевого обработчика методов.
relinkAndInvoke - обработчик методов переустановки и вызова. Это обработчик методов, соответствующий типу метода вызова, который предоставляется DynamicLinker как обратный вызов. Он должен использоваться этим вызовом в качестве окончательного резервного варианта, когда он не может вызвать свою цель с переданными аргументами. Резервный метод такой, что при его вызове он попытается получить подходящую целевую GuardedInvocation для вызова и впоследствии вызовет RelinkableCallSite.relink(GuardedInvocation, MethodHandle) или RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle), а затем вызовет цель.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/jdk.dynalink/jdk/dynalink/support/SimpleRelinkableCallSite.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API