mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
8027146: Class loading verification failure if GC occurs in Universe::flush_dependents_on
Remove search in system dictionary and hacks, replace with verifying in CLD::_klasses list. Reviewed-by: dcubed, acorn
This commit is contained in:
parent
c9b3cbbdcc
commit
4ab0b2732c
13 changed files with 36 additions and 52 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -2650,23 +2650,6 @@ void SystemDictionary::verify() {
|
|||
constraints()->verify(dictionary(), placeholders());
|
||||
}
|
||||
|
||||
|
||||
void SystemDictionary::verify_obj_klass_present(Symbol* class_name,
|
||||
ClassLoaderData* loader_data) {
|
||||
GCMutexLocker mu(SystemDictionary_lock);
|
||||
Symbol* name;
|
||||
|
||||
Klass* probe = find_class(class_name, loader_data);
|
||||
if (probe == NULL) {
|
||||
probe = SystemDictionary::find_shared_class(class_name);
|
||||
if (probe == NULL) {
|
||||
name = find_placeholder(class_name, loader_data);
|
||||
}
|
||||
}
|
||||
guarantee(probe != NULL || name != NULL,
|
||||
"Loaded klasses should be in SystemDictionary");
|
||||
}
|
||||
|
||||
// utility function for class load event
|
||||
void SystemDictionary::post_class_load_event(const Ticks& start_time,
|
||||
instanceKlassHandle k,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue