Класс 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)). |
Методы, объявленные в классе AbstractRelinkableCallSite
getDescriptor, initialize
Методы, объявленные в классе 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.dynalink/jdk/dynalink/support/SimpleRelinkableCallSite.html