これらは, 実行時に生成されたマシン語コードを管理するためのクラス (See: here for details).
動的生成コードを格納するメモリ領域(CodeBlobオブジェクト)を管理するためのクラス (より正確には, そのための機能を納めた名前空間(AllStatic クラス)).
生成された CodeBlob オブジェクトは全てこのクラスが管理している.
((cite: hotspot/src/share/vm/code/codeCache.hpp))
// The CodeCache implements the code cache for various pieces of generated
// code, e.g., compiled java methods, runtime stubs, transition frames, etc.
// The entries in the CodeCache are all CodeBlob's.
// Implementation:
// - Each CodeBlob occupies one chunk of memory.
// - Like the offset table in oldspace the zone has at table for
// locating a method given a addess of an instruction.
...
class CodeCache : AllStatic {
See: here for details
デバッグ用(開発時用)のクラス.
(デバッグ用の機能である CodeCache::print() 内で使用される補助クラス)
((cite: hotspot/src/share/vm/code/codeCache.cpp))
// Helper class for printing in CodeCache
class CodeBlob_sizes {
CodeCache::print() 内で各 CodeBlob の統計情報が CodeBlob_sizes に集められ. 最終的に CodeBlob_sizes::print() で出力される.
(正確には, CodeCache::print() 内では CodeBlob_sizes インスタンスを2つ使用し, 生きているものと死んでいるものとで分けて統計情報は集められる. このため, 統計情報は2種類が表示される.)
See: here for details
See: here for details
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.