8268288: jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java fails with "Error: ShouldNotReachHere()"
Reviewed-by: minqi, iklam
This commit is contained in:
parent
0d938cedca
commit
0a09092631
@ -2480,12 +2480,13 @@ void FileMapInfo::stop_sharing_and_unmap(const char* msg) {
|
|||||||
ClassPathEntry** FileMapInfo::_classpath_entries_for_jvmti = NULL;
|
ClassPathEntry** FileMapInfo::_classpath_entries_for_jvmti = NULL;
|
||||||
|
|
||||||
ClassPathEntry* FileMapInfo::get_classpath_entry_for_jvmti(int i, TRAPS) {
|
ClassPathEntry* FileMapInfo::get_classpath_entry_for_jvmti(int i, TRAPS) {
|
||||||
|
if (i == 0) {
|
||||||
|
// index 0 corresponds to the ClassPathImageEntry which is a globally shared object
|
||||||
|
// and should never be deleted.
|
||||||
|
return ClassLoader::get_jrt_entry();
|
||||||
|
}
|
||||||
ClassPathEntry* ent = _classpath_entries_for_jvmti[i];
|
ClassPathEntry* ent = _classpath_entries_for_jvmti[i];
|
||||||
if (ent == NULL) {
|
if (ent == NULL) {
|
||||||
if (i == 0) {
|
|
||||||
ent = ClassLoader::get_jrt_entry();
|
|
||||||
assert(ent != NULL, "must be");
|
|
||||||
} else {
|
|
||||||
SharedClassPathEntry* scpe = shared_path(i);
|
SharedClassPathEntry* scpe = shared_path(i);
|
||||||
assert(scpe->is_jar(), "must be"); // other types of scpe will not produce archived classes
|
assert(scpe->is_jar(), "must be"); // other types of scpe will not produce archived classes
|
||||||
|
|
||||||
@ -2503,7 +2504,6 @@ ClassPathEntry* FileMapInfo::get_classpath_entry_for_jvmti(int i, TRAPS) {
|
|||||||
THROW_MSG_(vmSymbols::java_io_IOException(), msg, NULL);
|
THROW_MSG_(vmSymbols::java_io_IOException(), msg, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
MutexLocker mu(THREAD, CDSClassFileStream_lock);
|
MutexLocker mu(THREAD, CDSClassFileStream_lock);
|
||||||
if (_classpath_entries_for_jvmti[i] == NULL) {
|
if (_classpath_entries_for_jvmti[i] == NULL) {
|
||||||
|
Loading…
Reference in New Issue
Block a user