mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 18:14:38 +02:00
8293515: heapShared.cpp: rename JavaThread parameter to current
Reviewed-by: coleenp, ccheung
This commit is contained in:
parent
76f1865124
commit
8873192433
3 changed files with 15 additions and 15 deletions
|
@ -866,28 +866,28 @@ static void verify_the_heap(Klass* k, const char* which) {
|
||||||
// Note: if a ArchivedKlassSubGraphInfoRecord contains non-early classes, and JVMTI
|
// Note: if a ArchivedKlassSubGraphInfoRecord contains non-early classes, and JVMTI
|
||||||
// ClassFileLoadHook is enabled, it's possible for this class to be dynamically replaced. In
|
// ClassFileLoadHook is enabled, it's possible for this class to be dynamically replaced. In
|
||||||
// this case, we will not load the ArchivedKlassSubGraphInfoRecord and will clear its roots.
|
// this case, we will not load the ArchivedKlassSubGraphInfoRecord and will clear its roots.
|
||||||
void HeapShared::resolve_classes(JavaThread* THREAD) {
|
void HeapShared::resolve_classes(JavaThread* current) {
|
||||||
assert(UseSharedSpaces, "runtime only!");
|
assert(UseSharedSpaces, "runtime only!");
|
||||||
if (!ArchiveHeapLoader::is_fully_available()) {
|
if (!ArchiveHeapLoader::is_fully_available()) {
|
||||||
return; // nothing to do
|
return; // nothing to do
|
||||||
}
|
}
|
||||||
resolve_classes_for_subgraphs(closed_archive_subgraph_entry_fields, THREAD);
|
resolve_classes_for_subgraphs(current, closed_archive_subgraph_entry_fields);
|
||||||
resolve_classes_for_subgraphs(open_archive_subgraph_entry_fields, THREAD);
|
resolve_classes_for_subgraphs(current, open_archive_subgraph_entry_fields);
|
||||||
resolve_classes_for_subgraphs(fmg_open_archive_subgraph_entry_fields, THREAD);
|
resolve_classes_for_subgraphs(current, fmg_open_archive_subgraph_entry_fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HeapShared::resolve_classes_for_subgraphs(ArchivableStaticFieldInfo fields[],
|
void HeapShared::resolve_classes_for_subgraphs(JavaThread* current, ArchivableStaticFieldInfo fields[]) {
|
||||||
JavaThread* THREAD) {
|
|
||||||
for (int i = 0; fields[i].valid(); i++) {
|
for (int i = 0; fields[i].valid(); i++) {
|
||||||
ArchivableStaticFieldInfo* info = &fields[i];
|
ArchivableStaticFieldInfo* info = &fields[i];
|
||||||
TempNewSymbol klass_name = SymbolTable::new_symbol(info->klass_name);
|
TempNewSymbol klass_name = SymbolTable::new_symbol(info->klass_name);
|
||||||
InstanceKlass* k = SystemDictionaryShared::find_builtin_class(klass_name);
|
InstanceKlass* k = SystemDictionaryShared::find_builtin_class(klass_name);
|
||||||
assert(k != NULL && k->is_shared_boot_class(), "sanity");
|
assert(k != NULL && k->is_shared_boot_class(), "sanity");
|
||||||
resolve_classes_for_subgraph_of(k, THREAD);
|
resolve_classes_for_subgraph_of(current, k);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HeapShared::resolve_classes_for_subgraph_of(Klass* k, JavaThread* THREAD) {
|
void HeapShared::resolve_classes_for_subgraph_of(JavaThread* current, Klass* k) {
|
||||||
|
JavaThread* THREAD = current;
|
||||||
ExceptionMark em(THREAD);
|
ExceptionMark em(THREAD);
|
||||||
const ArchivedKlassSubGraphInfoRecord* record =
|
const ArchivedKlassSubGraphInfoRecord* record =
|
||||||
resolve_or_init_classes_for_subgraph_of(k, /*do_init=*/false, THREAD);
|
resolve_or_init_classes_for_subgraph_of(k, /*do_init=*/false, THREAD);
|
||||||
|
@ -899,7 +899,8 @@ void HeapShared::resolve_classes_for_subgraph_of(Klass* k, JavaThread* THREAD) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void HeapShared::initialize_from_archived_subgraph(Klass* k, JavaThread* THREAD) {
|
void HeapShared::initialize_from_archived_subgraph(JavaThread* current, Klass* k) {
|
||||||
|
JavaThread* THREAD = current;
|
||||||
if (!ArchiveHeapLoader::is_fully_available()) {
|
if (!ArchiveHeapLoader::is_fully_available()) {
|
||||||
return; // nothing to do
|
return; // nothing to do
|
||||||
}
|
}
|
||||||
|
|
|
@ -294,9 +294,8 @@ private:
|
||||||
static void check_module_oop(oop orig_module_obj);
|
static void check_module_oop(oop orig_module_obj);
|
||||||
static void copy_roots();
|
static void copy_roots();
|
||||||
|
|
||||||
static void resolve_classes_for_subgraphs(ArchivableStaticFieldInfo fields[],
|
static void resolve_classes_for_subgraphs(JavaThread* current, ArchivableStaticFieldInfo fields[]);
|
||||||
JavaThread* THREAD);
|
static void resolve_classes_for_subgraph_of(JavaThread* current, Klass* k);
|
||||||
static void resolve_classes_for_subgraph_of(Klass* k, JavaThread* THREAD);
|
|
||||||
static void clear_archived_roots_of(Klass* k);
|
static void clear_archived_roots_of(Klass* k);
|
||||||
static const ArchivedKlassSubGraphInfoRecord*
|
static const ArchivedKlassSubGraphInfoRecord*
|
||||||
resolve_or_init_classes_for_subgraph_of(Klass* k, bool do_init, TRAPS);
|
resolve_or_init_classes_for_subgraph_of(Klass* k, bool do_init, TRAPS);
|
||||||
|
@ -402,8 +401,8 @@ private:
|
||||||
|
|
||||||
static bool is_archived_object_during_dumptime(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
|
static bool is_archived_object_during_dumptime(oop p) NOT_CDS_JAVA_HEAP_RETURN_(false);
|
||||||
|
|
||||||
static void resolve_classes(JavaThread* THREAD) NOT_CDS_JAVA_HEAP_RETURN;
|
static void resolve_classes(JavaThread* current) NOT_CDS_JAVA_HEAP_RETURN;
|
||||||
static void initialize_from_archived_subgraph(Klass* k, JavaThread* THREAD) NOT_CDS_JAVA_HEAP_RETURN;
|
static void initialize_from_archived_subgraph(JavaThread* current, Klass* k) NOT_CDS_JAVA_HEAP_RETURN;
|
||||||
|
|
||||||
static void init_for_dumping(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
|
static void init_for_dumping(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
|
||||||
static void write_subgraph_info_table() NOT_CDS_JAVA_HEAP_RETURN;
|
static void write_subgraph_info_table() NOT_CDS_JAVA_HEAP_RETURN;
|
||||||
|
|
|
@ -3545,7 +3545,7 @@ JVM_END
|
||||||
JVM_ENTRY(void, JVM_InitializeFromArchive(JNIEnv* env, jclass cls))
|
JVM_ENTRY(void, JVM_InitializeFromArchive(JNIEnv* env, jclass cls))
|
||||||
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve(cls));
|
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve(cls));
|
||||||
assert(k->is_klass(), "just checking");
|
assert(k->is_klass(), "just checking");
|
||||||
HeapShared::initialize_from_archived_subgraph(k, THREAD);
|
HeapShared::initialize_from_archived_subgraph(THREAD, k);
|
||||||
JVM_END
|
JVM_END
|
||||||
|
|
||||||
JVM_ENTRY(void, JVM_RegisterLambdaProxyClassForArchiving(JNIEnv* env,
|
JVM_ENTRY(void, JVM_RegisterLambdaProxyClassForArchiving(JNIEnv* env,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue