8178349: Cache builtin class loader constraints to avoid re-initializing itable/vtable for shared classes

Record loader constraints for built-in class which is loaded by app loader or platform loader in shared archive in dump time.  When the class loaded from shared archive at runtime, directly check loader constraints using the saved info so avoid lengthy relayout i/v-table at class link stage.

Reviewed-by: iklam, ccheung
This commit is contained in:
Yumin Qi 2020-05-01 10:58:45 -07:00
parent eaf3306e44
commit 832272da71
18 changed files with 851 additions and 88 deletions

View file

@ -339,7 +339,7 @@ void mutex_init() {
#if INCLUDE_JVMTI
def(CDSClassFileStream_lock , PaddedMutex , max_nonleaf, false, _safepoint_check_always);
#endif
def(DumpTimeTable_lock , PaddedMutex , leaf, true, _safepoint_check_never);
def(DumpTimeTable_lock , PaddedMutex , leaf - 1, true, _safepoint_check_never);
#endif // INCLUDE_CDS
#if INCLUDE_JVMCI