クラス jdk.dynalink.linker.GuardedInvocationの
使用
-
GuardedInvocationを使用するパッケージ パッケージ 説明 jdk.dynalink invokedynamicコール・サイトをリンクするためのインタフェースとクラスが含まれています。jdk.dynalink.linker 独自の言語固有のオブジェクト・モデルと型変換を実装するために、言語ランタイムに必要なインタフェースとクラスが含まれています。jdk.dynalink.linker.support 言語ランタイムが、言語固有のオブジェクト・モデルを実装し、いくつかのクラスの基本的な実装とさまざまなユーティリティを提供することによってコンバージョンをより便利にするクラスが含まれています。 -
-
jdk.dynalinkでのGuardedInvocationの使用
型GuardedInvocationのパラメータを持つjdk.dynalinkのメソッド 修飾子と型 メソッド 説明 voidRelinkableCallSite. relink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)このメソッドは、呼び出しサイトが再リンクされるたびに動的リンカーによって呼び出されます。(例外についてはRelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle)を参照してください)。voidRelinkableCallSite. resetAndRelink(GuardedInvocation guardedInvocation, MethodHandle relinkAndInvoke)このメソッドは、コール・サイトが再リンクされるたびにダイナミック・リンカーによって呼び出され、リンカーはコール・サイトが以前のリンケージ・ステート(それはRelinkableCallSite.relink(GuardedInvocation, MethodHandle)とどのように違うのですか?)を破棄することを望みます。 -
jdk.dynalink.linkerでのGuardedInvocationの使用
GuardedInvocationを戻すjdk.dynalink.linkerのメソッド 修飾子と型 メソッド 説明 GuardedInvocationGuardedInvocation. addSwitchPoint(SwitchPoint newSwitchPoint)スイッチ・ポイントが追加された新しい保護呼び出しを作成します。GuardedInvocationGuardedInvocation. asType(MethodType newType)MethodHandle.asType(MethodType)がその呼び出しとそのガードに適用されたかのように、呼び出しのタイプを変更します((戻り値の型がブール値に変更され、ガードに対してパラメータ・カウントが切り捨てられる可能性があります)が1つの場合)。GuardedInvocationGuardedInvocation. asType(CallSiteDescriptor desc)MethodHandle.asType(MethodType)がその呼び出しとそのガードに適用されたかのように、呼び出しのタイプを変更します((ガードの戻り値の型をブール値に変更)が1つの場合)。GuardedInvocationGuardedInvocation. asType(LinkerServices linkerServices, MethodType newType)LinkerServices.asType(MethodHandle, MethodType)がその呼び出しとそのガードに適用されたかのように、呼び出しのタイプを変更します((戻り値の型がブール値に変更され、ガードに対してパラメータ・カウントが切り捨てられる可能性があります)が1つの場合)。GuardedInvocationGuardedInvocation. asTypeSafeReturn(LinkerServices linkerServices, MethodType newType)LinkerServices.asTypeLosslessReturn(MethodHandle, MethodType)がその呼び出しに適用され、(戻り値の型がブール値に変更され、ガードに対してパラメータ・カウントが切り捨てられる可能性があります)が1つの場合、LinkerServices.asType(MethodHandle, MethodType)がガードに適用されたかのように、呼び出しのタイプを変更します。GuardedInvocationGuardingTypeConverterFactory. convertToType(Class<?> sourceType, Class<?> targetType, Supplier<MethodHandles.Lookup> lookupSupplier)指定されたソース型の値を受け取り、指定されたターゲット型に変換された値を返す保護された型変換を返します。GuardedInvocationGuardedInvocation. dropArguments(int pos, Class<?>... valueTypes)呼び出しと(それが存在し、少なくともposパラメータ)の両方の引数をMethodHandles.dropArguments(MethodHandle, int, Class...)でドロップする呼び出しを行います。GuardedInvocationGuardedInvocation. dropArguments(int pos, List<Class<?>> valueTypes)呼び出しと(それが存在し、少なくともposパラメータ)の両方の引数をMethodHandles.dropArguments(MethodHandle, int, List)でドロップする呼び出しを行います。GuardedInvocationGuardedInvocationTransformer. filter(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices)守られた呼び出しが与えられた場合、同じまたは潜在的に異なる保護された呼び出しを返します。GuardedInvocationGuardedInvocation. filterArguments(int pos, MethodHandle... filters)呼び出しと(それが存在し、少なくともpos + 1パラメータ)をMethodHandles.filterArguments(MethodHandle, int, MethodHandle...)で保護する両方に引数フィルタを適用します。GuardedInvocationGuardingDynamicLinker. getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)コール・サイトで、指定された引数を持つ特定の呼び出しに適切な保護された呼び出しを作成します。GuardedInvocationLinkerServices. getGuardedInvocation(LinkRequest linkRequest)このリンカー・サービス・オブジェクトを公開するDynamicLinkerに委譲された保護された呼び出しを作成します。GuardedInvocationGuardedInvocation. replaceMethods(MethodHandle newInvocation, MethodHandle newGuard)スイッチ・ポイントを保持して、異なるメソッドで新しいガードされた呼び出しを作成します。型GuardedInvocationのパラメータを持つjdk.dynalink.linkerのメソッド 修飾子と型 メソッド 説明 GuardedInvocationGuardedInvocationTransformer. filter(GuardedInvocation inv, LinkRequest linkRequest, LinkerServices linkerServices)守られた呼び出しが与えられた場合、同じまたは潜在的に異なる保護された呼び出しを返します。 -
jdk.dynalink.linker.supportでのGuardedInvocationの使用
GuardedInvocationを戻すjdk.dynalink.linker.supportのメソッド 修飾子と型 メソッド 説明 GuardedInvocationCompositeGuardingDynamicLinker. getGuardedInvocation(LinkRequest linkRequest, LinkerServices linkerServices)呼び出しをそのコンポーネント・リンカーに委譲します。
-