Skip to content

Commit 97f2682

Browse files
authored
Merge pull request #20197 from theresa-m/findclass_cache_fix_0.48
(0.48) romToRam cache follow up
2 parents 47042a0 + 1d56245 commit 97f2682

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

runtime/shared_common/shrinit.cpp

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4283,8 +4283,6 @@ j9shr_shutdown(J9JavaVM *vm)
42834283
J9SharedStringFarm* jclStringFarm = config->jclStringFarm;
42844284
J9HashTable* urlHashTable = config->jclURLHashTable;
42854285
J9HashTable* utfHashTable = config->jclUTF8HashTable;
4286-
J9HashTable *romToRamHashTable = config->romToRamHashTable;
4287-
omrthread_rwmutex_t romToRamHashTableMutex = config->romToRamHashTableMutex;
42884286
J9VMThread* currentThread = vm->internalVMFunctions->currentVMThread(vm);
42894287

42904288
/* Free all of the cached ClasspathItems */
@@ -4303,6 +4301,15 @@ j9shr_shutdown(J9JavaVM *vm)
43034301
if (config->jclCacheMutex) {
43044302
omrthread_monitor_destroy(config->jclCacheMutex);
43054303
}
4304+
4305+
if (NULL != config->romToRamHashTableMutex) {
4306+
omrthread_rwmutex_destroy(config->romToRamHashTableMutex);
4307+
}
4308+
4309+
if (NULL != config->romToRamHashTable) {
4310+
hashTableFree(config->romToRamHashTable);
4311+
}
4312+
43064313
j9mem_free_memory(config->sharedAPIObject);
43074314
j9mem_free_memory(config);
43084315

@@ -4329,16 +4336,6 @@ j9shr_shutdown(J9JavaVM *vm)
43294336
if (utfHashTable) {
43304337
hashTableFree(utfHashTable);
43314338
}
4332-
if (NULL != romToRamHashTable) {
4333-
omrthread_rwmutex_enter_write(romToRamHashTableMutex);
4334-
config->romToRamHashTable = NULL;
4335-
config->romToRamHashTableMutex = NULL;
4336-
if (romToRamHashTable) {
4337-
hashTableFree(romToRamHashTable);
4338-
}
4339-
omrthread_rwmutex_exit_write(romToRamHashTableMutex);
4340-
omrthread_rwmutex_destroy(romToRamHashTableMutex);
4341-
}
43424339

43434340
/* Kill the string farm */
43444341

runtime/util/hshelp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2643,9 +2643,9 @@ recreateRAMClasses(J9VMThread * currentThread, J9HashTable * classHashTable, J9H
26432643
if (!fastHCR) {
26442644
vmFuncs->hashClassTableDelete(classLoader, J9UTF8_DATA(className), J9UTF8_LENGTH(className));
26452645
if ((NULL != vm->sharedClassConfig) && (NULL != vm->sharedClassConfig->romToRamHashTable)) {
2646-
omrthread_rwmutex_enter_write(vm->sharedClassConfig->romToRamHashTableMutex);
26472646
RomToRamEntry entry;
26482647
entry.ramClass = originalRAMClass;
2648+
omrthread_rwmutex_enter_write(vm->sharedClassConfig->romToRamHashTableMutex);
26492649
hashTableRemove(vm->sharedClassConfig->romToRamHashTable, &entry);
26502650
omrthread_rwmutex_exit_write(vm->sharedClassConfig->romToRamHashTableMutex);
26512651
}

0 commit comments

Comments
 (0)