Spec-Zone.ru › OpenJDK 25

Класс 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)).

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

getDescriptor, initialize

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

dynamicInvoker, getTarget, setTarget, syncAll

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

type

Методы, объявленные в классе 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) и, наконец, вызовет цель.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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