Spec-Zone.ru › OpenJDK 24

Класс 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 на его переподключение.
С момента:
9

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

Конструктор Описание
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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/jdk.dynalink/jdk/dynalink/support/SimpleRelinkableCallSite.html

Spec-Zone.ru

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