mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-13 01:13:10 +00:00
8377665: JFR: Symbol table not setup for early class unloading
Reviewed-by: jsikstro
This commit is contained in:
parent
7ec561f8b7
commit
c3a698f7be
@ -1265,7 +1265,7 @@ static size_t teardown() {
|
||||
JfrKlassUnloading::clear();
|
||||
_artifacts->clear();
|
||||
_initial_type_set = true;
|
||||
} else {
|
||||
} else if (is_initial_typeset_for_chunk()) {
|
||||
_initial_type_set = false;
|
||||
}
|
||||
return total_count;
|
||||
|
||||
@ -102,6 +102,9 @@ bool JfrRecorder::on_create_vm_1() {
|
||||
if (!create_checkpoint_manager()) {
|
||||
return false;
|
||||
}
|
||||
if (!JfrSymbolTable::create()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// fast time initialization
|
||||
@ -316,10 +319,7 @@ bool JfrRecorder::create_components() {
|
||||
if (!create_thread_group_manager()) {
|
||||
return false;
|
||||
}
|
||||
if (!create_symbol_table()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
return create_symbol_table();
|
||||
}
|
||||
|
||||
// subsystems
|
||||
@ -418,7 +418,13 @@ bool JfrRecorder::create_thread_group_manager() {
|
||||
}
|
||||
|
||||
bool JfrRecorder::create_symbol_table() {
|
||||
return JfrSymbolTable::create();
|
||||
return !is_started_on_commandline() ? JfrSymbolTable::create() : true;
|
||||
}
|
||||
|
||||
void JfrRecorder::destroy_symbol_table() {
|
||||
if (!is_started_on_commandline()) {
|
||||
JfrSymbolTable::destroy();
|
||||
}
|
||||
}
|
||||
|
||||
void JfrRecorder::destroy_components() {
|
||||
@ -461,7 +467,7 @@ void JfrRecorder::destroy_components() {
|
||||
}
|
||||
JfrEventThrottler::destroy();
|
||||
JfrThreadGroupManager::destroy();
|
||||
JfrSymbolTable::destroy();
|
||||
destroy_symbol_table();
|
||||
}
|
||||
|
||||
bool JfrRecorder::create_recorder_thread() {
|
||||
|
||||
@ -59,6 +59,7 @@ class JfrRecorder : public JfrCHeapObj {
|
||||
static bool create_event_throttler();
|
||||
static bool create_symbol_table();
|
||||
static bool create_components();
|
||||
static void destroy_symbol_table();
|
||||
static void destroy_components();
|
||||
static void on_recorder_thread_exit();
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user