mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8266074: Vtable-based CHA implementation
Reviewed-by: kvn, jrose, dlong
This commit is contained in:
parent
347d41df90
commit
127bfe44f7
11 changed files with 553 additions and 77 deletions
|
@ -40,6 +40,7 @@
|
|||
#include "classfile/verifier.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/dependencyContext.hpp"
|
||||
#include "compiler/compilationPolicy.hpp"
|
||||
#include "compiler/compileBroker.hpp"
|
||||
|
@ -955,7 +956,17 @@ bool InstanceKlass::link_class_impl(TRAPS) {
|
|||
// In case itable verification is ever added.
|
||||
// itable().verify(tty, true);
|
||||
#endif
|
||||
set_init_state(linked);
|
||||
if (UseVtableBasedCHA) {
|
||||
MutexLocker ml(THREAD, Compile_lock);
|
||||
set_init_state(linked);
|
||||
|
||||
// Now flush all code that assume the class is not linked.
|
||||
if (Universe::is_fully_initialized()) {
|
||||
CodeCache::flush_dependents_on(this);
|
||||
}
|
||||
} else {
|
||||
set_init_state(linked);
|
||||
}
|
||||
if (JvmtiExport::should_post_class_prepare()) {
|
||||
JvmtiExport::post_class_prepare(THREAD->as_Java_thread(), this);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue