これらは, JIT Compiler 用のクラス. より具体的に言うと, メソッド内の情報 (メソッド中のバイトコード, メソッドの型を表す文字列(Signature String), メソッドの例外ハンドラ) に対して iterate 処理するためのユーティリティ・クラス (See: here for details).
JIT Compiler の作業中に使われる一時オブジェクト(StackObjクラス).
メソッド中のバイトコードに対して iterate 処理するためのイテレータクラス.
なお, このクラスは Constant Pool の中身にアクセスする機能も提供している. このため, JIT コンパイラは Constant Pool に関するデータ構造については知る必要がない.
また, HotSpot 独自の _fast 系の bytecode (See: here and here for details) についても, ciBytecodeStream の内部で元々の bytecode に戻している (そのため, これらについても JIT コンパイラは知る必要はない).
((cite: hotspot/src/share/vm/ci/ciStreams.hpp))
// The class is used to iterate over the bytecodes of a method.
// It hides the details of constant pool structure/access by
// providing accessors for constant pool items. It returns only pure
// Java bytecodes; VM-internal _fast bytecodes are translated back to
// their original form during iteration.
class ciBytecodeStream : StackObj {
See: here for details
JIT Compiler の作業中に使われる一時オブジェクト(StackObjクラス).
メソッドの型を表す文字列(Signature String)に対して iterate 処理するためのイテレータクラス.
((cite: hotspot/src/share/vm/ci/ciStreams.hpp))
// ciSignatureStream
//
// The class is used to iterate over the elements of a method signature.
class ciSignatureStream : public StackObj {
以下の箇所で(のみ)使用されている.
See: here for details
JIT Compiler の作業中に使われる一時オブジェクト(StackObjクラス).
メソッドの例外ハンドラ(Exception Handler)情報に対して iterate 処理するためのイテレータクラス.
((cite: hotspot/src/share/vm/ci/ciStreams.hpp))
// ciExceptionHandlerStream
//
// The class is used to iterate over the exception handlers of
// a method.
class ciExceptionHandlerStream : public StackObj {
以下の箇所で(のみ)使用されている.
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.