Класс 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 |
Создаёт новое место вызова со стратегией мономорфного кеширования. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
relink |
Этот метод будет вызван динамическим линковщиком каждый раз, когда место вызова переподключается (но см. RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle) для исключений). |
void |
resetAndRelink |
Этот метод будет вызван динамическим линковщиком каждый раз, когда место вызова переподключается и линковщик хочет, чтобы место вызова отбросило любой предыдущий связанный состояние (в этом разница с RelinkableCallSite.relink(GuardedInvocation, MethodHandle)). |
Методы, объявленные в классе jdk.dynalink.support.AbstractRelinkableCallSite
getDescriptor, initialize
Методы, объявленные в классе java.lang.invoke.MutableCallSite
dynamicInvoker, getTarget, setTarget, syncAll
Подробное описание конструкторов
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