Spec-Zone.ru › OpenJDK 21

Класс 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, 2023, 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/21/docs/api/jdk.dynalink/jdk/dynalink/support/AbstractRelinkableCallSite.html

Spec-Zone.ru

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