mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 03:58:21 +00:00
8369559: Identify owning method for MethodTrainingData and CompileTrainingData in AOT map output
Reviewed-by: adinn, iklam
This commit is contained in:
parent
42b2999c31
commit
355cb45943
@ -363,6 +363,12 @@ void AOTMapLogger::log_metaspace_objects_impl(address region_base, address regio
|
||||
case MetaspaceObj::KlassTrainingDataType:
|
||||
log_klass_training_data((KlassTrainingData*)src, requested_addr, type_name, bytes, current);
|
||||
break;
|
||||
case MetaspaceObj::MethodTrainingDataType:
|
||||
log_method_training_data((MethodTrainingData*)src, requested_addr, type_name, bytes, current);
|
||||
break;
|
||||
case MetaspaceObj::CompileTrainingDataType:
|
||||
log_compile_training_data((CompileTrainingData*)src, requested_addr, type_name, bytes, current);
|
||||
break;
|
||||
default:
|
||||
log_debug(aot, map)(_LOG_PREFIX, p2i(requested_addr), type_name, bytes);
|
||||
break;
|
||||
@ -431,6 +437,7 @@ void AOTMapLogger::log_symbol(Symbol* s, address requested_addr, const char* typ
|
||||
log_debug(aot, map)(_LOG_PREFIX " %s", p2i(requested_addr), type_name, bytes,
|
||||
s->as_quoted_ascii());
|
||||
}
|
||||
|
||||
void AOTMapLogger::log_klass_training_data(KlassTrainingData* ktd, address requested_addr, const char* type_name,
|
||||
int bytes, Thread* current) {
|
||||
ResourceMark rm(current);
|
||||
@ -442,6 +449,27 @@ void AOTMapLogger::log_klass_training_data(KlassTrainingData* ktd, address reque
|
||||
}
|
||||
}
|
||||
|
||||
void AOTMapLogger::log_method_training_data(MethodTrainingData* mtd, address requested_addr, const char* type_name,
|
||||
int bytes, Thread* current) {
|
||||
ResourceMark rm(current);
|
||||
if (mtd->has_holder()) {
|
||||
log_debug(aot, map)(_LOG_PREFIX " %s", p2i(requested_addr), type_name, bytes,
|
||||
mtd->holder()->external_name());
|
||||
} else {
|
||||
log_debug(aot, map)(_LOG_PREFIX, p2i(requested_addr), type_name, bytes);
|
||||
}
|
||||
}
|
||||
|
||||
void AOTMapLogger::log_compile_training_data(CompileTrainingData* ctd, address requested_addr, const char* type_name,
|
||||
int bytes, Thread* current) {
|
||||
ResourceMark rm(current);
|
||||
if (ctd->method() != nullptr && ctd->method()->has_holder()) {
|
||||
log_debug(aot, map)(_LOG_PREFIX " %d %s", p2i(requested_addr), type_name, bytes,
|
||||
ctd->level(), ctd->method()->holder()->external_name());
|
||||
} else {
|
||||
log_debug(aot, map)(_LOG_PREFIX, p2i(requested_addr), type_name, bytes);
|
||||
}
|
||||
}
|
||||
#undef _LOG_PREFIX
|
||||
|
||||
// Log all the data [base...top). Pretend that the base address
|
||||
|
||||
@ -33,9 +33,11 @@
|
||||
#include "utilities/growableArray.hpp"
|
||||
|
||||
class ArchiveHeapInfo;
|
||||
class CompileTrainingData;
|
||||
class DumpRegion;
|
||||
class FileMapInfo;
|
||||
class KlassTrainingData;
|
||||
class MethodTrainingData;
|
||||
class outputStream;
|
||||
|
||||
// Write detailed info to a mapfile to analyze contents of the AOT cache/CDS archive.
|
||||
@ -107,6 +109,8 @@ class AOTMapLogger : AllStatic {
|
||||
static void log_method(Method* m, address requested_addr, const char* type_name, int bytes, Thread* current);
|
||||
static void log_symbol(Symbol* s, address requested_addr, const char* type_name, int bytes, Thread* current);
|
||||
static void log_klass_training_data(KlassTrainingData* ktd, address requested_addr, const char* type_name, int bytes, Thread* current);
|
||||
static void log_method_training_data(MethodTrainingData* mtd, address requested_addr, const char* type_name, int bytes, Thread* current);
|
||||
static void log_compile_training_data(CompileTrainingData* ctd, address requested_addr, const char* type_name, int bytes, Thread* current);
|
||||
|
||||
|
||||
#if INCLUDE_CDS_JAVA_HEAP
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user