これらは, JNI の機能(より具体的に言うと, ネイティブメソッドの呼び出し機能)を実現するためのクラス. 引数をネイティブの ABI にしたがった形に変換する処理を行う (See: here for details).
InterpreterRuntime クラス内で使用される補助クラス.
JNI の機能(より具体的に言うと, ネイティブメソッドの呼び出し機能)を実現するためのクラス. 引数をネイティブの ABI にしたがった形に変換する処理を行う.
なお, 似た役割のクラスに SlowSignatureHandler がある. こちらは引数が複雑なネイティブメソッド用. (逆に InterpreterRuntime::SignatureHandlerGenerator は引数が比較的簡単な場合に使用され, それぞれのネイティブメソッドに特注のシグネチャハンドラ(引数をネイティブの ABI にしたがった形に変換する関数)を生成する処理を行う) (See: here for details).
((cite: hotspot/src/cpu/x86/vm/interpreterRT_x86.hpp))
// native method calls
class SignatureHandlerGenerator: public NativeSignatureIterator {
SignatureHandlerLibrary::add() 内で(のみ)生成されている.
SignatureHandlerLibrary::add() 内で(のみ)使用されている.
See: here for details
InterpreterRuntime クラス内で使用される補助クラス.
JNI の機能(より具体的に言うと, ネイティブメソッドの呼び出し機能)を実現するためのクラス. 引数をネイティブの ABI にしたがった形に変換する処理を行う (See: here for details).
なお, 似た役割のクラスに InterpreterRuntime::SignatureHandlerGenerator がある. こちらは引数が簡単なネイティブメソッド用. (逆に SlowSignatureHandler は引数が複雑な場合に使用される) (See: here for details).
(なお, 32bit か 64bit かによってクラス定義が別になっている. さらに, 64bit 版は #ifdef _WIN64 かどうかで 2種類のクラス定義が用意されている)
((cite: hotspot/src/cpu/x86/vm/interpreterRT_x86_32.cpp))
class SlowSignatureHandler: public NativeSignatureIterator {
((cite: hotspot/src/cpu/x86/vm/interpreterRT_x86_64.cpp))
#ifdef _WIN64
class SlowSignatureHandler
: public NativeSignatureIterator {
((cite: hotspot/src/cpu/x86/vm/interpreterRT_x86_64.cpp))
#else
class SlowSignatureHandler
: public NativeSignatureIterator {
InterpreterRuntime::slow_signature_handler() 内で(のみ)使用されている.
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.