トラブルシューティング用のクラス (関連する diagnostic オプションが指定されている場合にのみ使用される) (See: LogCompilation).
JIT コンパイル処理に関するログ出力を行うための xmlStream クラス.
((cite: hotspot/src/share/vm/compiler/compileLog.hpp))
// CompileLog
//
// An open stream for logging information about activities in a
// compiler thread. There is exactly one per CompilerThread,
// if the +LogCompilation switch is enabled.
class CompileLog : public xmlStream {
各 CompilerThread オブジェクトの _log フィールドに(のみ)格納されている.
CompileBroker::init_compiler_thread_log() 内で(のみ)生成されている.
((cite: hotspot/src/share/vm/compiler/compileBroker.cpp))
void CompileBroker::compiler_thread_loop() {
...
// Open a log.
if (LogCompilation) {
init_compiler_thread_log();
}
実際のロギングの開始/終了処理は CompileTaskWrapper によって行われている (See: CompileTaskWrapper).
((cite: hotspot/src/share/vm/compiler/compileBroker.cpp))
CompileTaskWrapper::CompileTaskWrapper(CompileTask* task) {
CompilerThread* thread = CompilerThread::current();
thread->set_task(task);
CompileLog* log = thread->log();
if (log != NULL) task->log_task_start(log);
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.