Spec-Zone.ru › OpenJDK 17

Класс AbstractRelinkableCallSite

java.lang.Object
java.lang.invoke.CallSite
java.lang.invoke.MutableCallSite
jdk.dynalink.support.AbstractRelinkableCallSite
Все реализованные интерфейсы:
RelinkableCallSite
Прямые известные подклассы:
ChainedCallSite, SimpleRelinkableCallSite
public abstract class AbstractRelinkableCallSite extends MutableCallSite implements RelinkableCallSite
Базовая реализация интерфейса RelinkableCallSite в виде класса MutableCallSite. Он хранит CallSiteDescriptor, переданный в конструкторе, и предоставляет правильную реализацию метода initialize(MethodHandle). Подклассы должны реализовать методы RelinkableCallSite.relink(GuardedInvocation, MethodHandle) и RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle).

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

AbstractRelinkableCallSite(CallSiteDescriptor descriptor)
Модификатор Конструктор Описание
protected
Создаёт новый абстрактный вызов с возможностью переподключения.

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

Модификатор и тип Метод Описание
CallSiteDescriptor getDescriptor()
Возвращает дескриптор для этого вызова.
void initialize(MethodHandle relinkAndInvoke)
Вызывается динамическим линковщиком для инициализации вызова с возможностью переподключения, устанавливая метод обработки переподключения и вызова.

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

Методы, объявленные в интерфейсе jdk.dynalink.RelinkableCallSite

relink, resetAndRelink

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

AbstractRelinkableCallSite

protected AbstractRelinkableCallSite(CallSiteDescriptor descriptor)
Создаёт новый абстрактный вызов с возможностью переподключения.
Параметры:
descriptor - дескриптор для данного вызова, который будет возвращён методом getDescriptor(). Тип вызова CallSite.type() будет равен типу метода CallSiteDescriptor.getMethodType() дескриптора.
Исключения:
NullPointerException - если descriptor равен null.

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

getDescriptor

public CallSiteDescriptor getDescriptor()
Описание скопировано из интерфейса: RelinkableCallSite
Возвращает дескриптор для этого вызова.
Задано в:
getDescriptor в интерфейсе RelinkableCallSite
Возвращает:
дескриптор для данного вызова.

initialize

public void initialize(MethodHandle relinkAndInvoke)
Описание скопировано из интерфейса: RelinkableCallSite
Вызывается динамическим линковщиком для инициализации вызова с возможностью переподключения, устанавливая метод обработки переподключения и вызова. Реализация вызова должна установить этот метод обработки как свой целевой метод, используя CallSite.setTarget(MethodHandle). Метод обработки переподключения и вызова - это начальный метод, установленный методом DynamicLinker.link(RelinkableCallSite), который заставит вызов переподключиться к соответствующей цели при первом вызове на основе его аргументов, а затем вызовет эту связанную цель (отсюда и название). Этот протокол связывания фактически откладывает связывание до вызова вызова с фактическими аргументами и, таким образом, гарантирует, что линковщики могут принимать обоснованные решения о связывании, основанные на этих аргументах, а не только на статическом типе метода вызова.
Задано в:
initialize в интерфейсе RelinkableCallSite
Параметры:
relinkAndInvoke - метод обработки переподключения и вызова, предоставленный Dynalink.

© 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/AbstractRelinkableCallSite.html

Spec-Zone.ru

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