Skip to content

Commit 8bc67e3

Browse files
babsinghh3110n3rv3
andcommitted
RAM Class: Per-kind segment allocation and sizing
Introduce distinct segment categories (SUB4G, FREQUENTLY_ACCESSED, INFREQUENTLY_ACCESSED). Separates hot vs. cold J9Class data for better memory efficiency. SUB4G segments are sized in multiples of aligned J9Class headers and tagged with MEMORY_TYPE_RAM_CLASS_SUB4G. Related: #20644 Co-authored-by: Nick Kamal <[email protected]> Signed-off-by: Babneet Singh <[email protected]>
1 parent e0d1233 commit 8bc67e3

File tree

5 files changed

+733
-298
lines changed

5 files changed

+733
-298
lines changed

runtime/jcl/common/mgmtmemory.c

Lines changed: 97 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ static UDATA getIndexFromGCID(J9JavaLangManagementData *mgmt, UDATA id);
3232
jobject JNICALL
3333
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getHeapMemoryUsageImpl(JNIEnv *env, jobject beanInstance, jclass memoryUsage, jobject memUsageConstructor)
3434
{
35-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
35+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
3636
jlong used = 0;
3737
jlong committed = 0;
3838
jmethodID ctor = NULL;
@@ -48,10 +48,59 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getHeapMemoryUsageIm
4848
return (*env)->NewObject(env, memoryUsage, ctor, (jlong)javaVM->managementData->initialHeapSize, used, committed, (jlong)javaVM->managementData->maximumHeapSize);
4949
}
5050

51+
/**
52+
* @brief Subtracts sizes of all free list blocks from the accumulator.
53+
*
54+
* Iterates through tiny, small, and large block lists in
55+
* j9RAMClassFreeListsPtr and subtracts each block's size from used.
56+
*
57+
* @param j9RAMClassFreeListsPtr Pointer to RAM class free-lists (may be NULL).
58+
* @param used Pointer to a jlong accumulator decremented by block sizes.
59+
*/
60+
void
61+
subtractFreeListBlocks(J9RAMClassFreeLists* j9RAMClassFreeListsPtr, jlong *used)
62+
{
63+
if (NULL != j9RAMClassFreeListsPtr) {
64+
J9RAMClassFreeListBlock *ramClassTinyBlockFreeListPtr = j9RAMClassFreeListsPtr->ramClassTinyBlockFreeList;
65+
J9RAMClassFreeListBlock *ramClassSmallBlockFreeListPtr = j9RAMClassFreeListsPtr->ramClassSmallBlockFreeList;
66+
J9RAMClassFreeListBlock *ramClassLargeBlockFreeListPtr = j9RAMClassFreeListsPtr->ramClassLargeBlockFreeList;
67+
while (NULL != ramClassTinyBlockFreeListPtr) {
68+
*used -= ramClassTinyBlockFreeListPtr->size;
69+
ramClassTinyBlockFreeListPtr = ramClassTinyBlockFreeListPtr->nextFreeListBlock;
70+
}
71+
while (NULL != ramClassSmallBlockFreeListPtr) {
72+
*used -= ramClassSmallBlockFreeListPtr->size;
73+
ramClassSmallBlockFreeListPtr = ramClassSmallBlockFreeListPtr->nextFreeListBlock;
74+
}
75+
while (NULL != ramClassLargeBlockFreeListPtr) {
76+
*used -= ramClassLargeBlockFreeListPtr->size;
77+
ramClassLargeBlockFreeListPtr = ramClassLargeBlockFreeListPtr->nextFreeListBlock;
78+
}
79+
}
80+
}
81+
82+
/**
83+
* @brief Subtracts the size of each UDATA block in a chain from the accumulator.
84+
*
85+
* Walks a chain of UDATA blocks starting at ramClassUDATABlockFreeListPtr
86+
* and subtracts sizeof(UDATA) for each from used.
87+
*
88+
* @param ramClassUDATABlockFreeListPtr Head of UDATA block chain (may be NULL).
89+
* @param used Pointer to a jlong accumulator decremented by block count * sizeof(UDATA).
90+
*/
91+
void
92+
subtractUDATABlockChain(UDATA *ramClassUDATABlockFreeListPtr, jlong *used)
93+
{
94+
while (NULL != ramClassUDATABlockFreeListPtr) {
95+
*used -= sizeof(UDATA);
96+
ramClassUDATABlockFreeListPtr = *(UDATA **)ramClassUDATABlockFreeListPtr;
97+
}
98+
}
99+
51100
jobject JNICALL
52101
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getNonHeapMemoryUsageImpl(JNIEnv *env, jobject beanInstance, jclass memoryUsage, jobject memUsageConstructor)
53102
{
54-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
103+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
55104
J9JavaLangManagementData *mgmt = javaVM->managementData;
56105
jlong used = 0;
57106
jlong committed = 0;
@@ -76,26 +125,21 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getNonHeapMemoryUsag
76125
omrthread_monitor_enter(javaVM->classTableMutex);
77126
classLoader = javaVM->internalVMFunctions->allClassLoadersStartDo(&walkState, javaVM, 0);
78127
while (NULL != classLoader) {
79-
UDATA *udataFreeListBlock = classLoader->ramClassUDATABlockFreeList;
80-
J9RAMClassFreeListBlock *tinyFreeListBlock = classLoader->ramClassTinyBlockFreeList;
81-
J9RAMClassFreeListBlock *smallFreeListBlock = classLoader->ramClassSmallBlockFreeList;
82-
J9RAMClassFreeListBlock *largeFreeListBlock = classLoader->ramClassLargeBlockFreeList;
83-
while (NULL != udataFreeListBlock) {
84-
used -= sizeof(UDATA);
85-
udataFreeListBlock = *(UDATA **) udataFreeListBlock;
86-
}
87-
while (NULL != tinyFreeListBlock) {
88-
used -= tinyFreeListBlock->size;
89-
tinyFreeListBlock = tinyFreeListBlock->nextFreeListBlock;
90-
}
91-
while (NULL != smallFreeListBlock) {
92-
used -= smallFreeListBlock->size;
93-
smallFreeListBlock = smallFreeListBlock->nextFreeListBlock;
94-
}
95-
while (NULL != largeFreeListBlock) {
96-
used -= largeFreeListBlock->size;
97-
largeFreeListBlock = largeFreeListBlock->nextFreeListBlock;
98-
}
128+
J9RAMClassFreeLists *sub4gBlockPtr = &classLoader->sub4gBlock;
129+
J9RAMClassFreeLists *frequentlyAccessedBlockPtr = &classLoader->frequentlyAccessedBlock;
130+
J9RAMClassFreeLists *inFrequentlyAccessedBlockPtr = &classLoader->inFrequentlyAccessedBlock;
131+
UDATA *ramClassSub4gUDATABlockFreeListPtr = sub4gBlockPtr->ramClassUDATABlockFreeList;
132+
UDATA *ramClassFreqUDATABlockFreeListPtr = frequentlyAccessedBlockPtr->ramClassUDATABlockFreeList;
133+
UDATA *ramClassInFreqUDATABlockFreeListPtr = inFrequentlyAccessedBlockPtr->ramClassUDATABlockFreeList;
134+
135+
subtractUDATABlockChain(ramClassSub4gUDATABlockFreeListPtr, &used);
136+
subtractUDATABlockChain(ramClassFreqUDATABlockFreeListPtr, &used);
137+
subtractUDATABlockChain(ramClassInFreqUDATABlockFreeListPtr, &used);
138+
139+
subtractFreeListBlocks(sub4gBlockPtr, &used);
140+
subtractFreeListBlocks(frequentlyAccessedBlockPtr, &used);
141+
subtractFreeListBlocks(inFrequentlyAccessedBlockPtr, &used);
142+
99143
classLoader = javaVM->internalVMFunctions->allClassLoadersNextDo(&walkState);
100144
}
101145
javaVM->internalVMFunctions->allClassLoadersEndDo(&walkState);
@@ -166,7 +210,7 @@ jint JNICALL
166210
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getObjectPendingFinalizationCountImpl(JNIEnv *env, jobject beanInstance)
167211
{
168212
#if defined(J9VM_GC_FINALIZATION)
169-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
213+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
170214
return (jint)javaVM->memoryManagerFunctions->j9gc_get_objects_pending_finalization_count(javaVM);
171215
#else
172216
return (jint)0;
@@ -176,15 +220,15 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getObjectPendingFina
176220
jboolean JNICALL
177221
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_isVerboseImpl(JNIEnv *env, jobject beanInstance)
178222
{
179-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
223+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
180224

181225
return VERBOSE_GC == (VERBOSE_GC & javaVM->verboseLevel) ;
182226
}
183227

184228
void JNICALL
185229
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_setVerboseImpl(JNIEnv *env, jobject beanInstance, jboolean flag)
186230
{
187-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
231+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
188232
J9VerboseSettings verboseOptions;
189233

190234
memset(&verboseOptions, 0, sizeof(J9VerboseSettings));
@@ -197,7 +241,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_setVerboseImpl(JNIEn
197241
void JNICALL
198242
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_createMemoryManagers(JNIEnv *env, jobject beanInstance)
199243
{
200-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
244+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
201245
jclass memBean = NULL;
202246
jstring childName = NULL;
203247
jmethodID helperID = NULL;
@@ -234,7 +278,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_createMemoryManagers
234278
}
235279

236280
for (idx = 0; idx < mgmt->supportedCollectors; ++idx) {
237-
id = (jint) mgmt->garbageCollectors[idx].id;
281+
id = (jint)mgmt->garbageCollectors[idx].id;
238282
childName = (*env)->NewStringUTF(env, mgmt->garbageCollectors[idx].name);
239283
if (NULL == childName) {
240284
return;
@@ -247,7 +291,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_createMemoryManagers
247291
void JNICALL
248292
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_createMemoryPools(JNIEnv *env, jobject beanInstance)
249293
{
250-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
294+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
251295
jclass memBean = NULL;
252296
jstring childName = NULL;
253297
jmethodID helperID = NULL;
@@ -267,7 +311,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_createMemoryPools(JN
267311

268312
/* Heap Memory Pools */
269313
for (idx = 0; idx < mgmt->supportedMemoryPools; ++idx) {
270-
id = (jint) mgmt->memoryPools[idx].id;
314+
id = (jint)mgmt->memoryPools[idx].id;
271315
childName = (*env)->NewStringUTF(env, mgmt->memoryPools[idx].name);
272316
if (NULL == childName) {
273317
return;
@@ -281,7 +325,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_createMemoryPools(JN
281325

282326
/* NonHeap Memory Pools */
283327
for (idx = 0; idx < mgmt->supportedNonHeapMemoryPools; ++idx) {
284-
id = (jint) mgmt->nonHeapMemoryPools[idx].id;
328+
id = (jint)mgmt->nonHeapMemoryPools[idx].id;
285329
childName = (*env)->NewStringUTF(env, mgmt->nonHeapMemoryPools[idx].name);
286330
if (NULL == childName) {
287331
return;
@@ -297,15 +341,15 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_createMemoryPools(JN
297341
jlong JNICALL
298342
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getMaxHeapSizeLimitImpl(JNIEnv *env, jobject beanInstance)
299343
{
300-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
344+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
301345

302346
return javaVM->memoryManagerFunctions->j9gc_get_maximum_heap_size(javaVM);
303347
}
304348

305349
jlong JNICALL
306350
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getMaxHeapSizeImpl(JNIEnv *env, jobject beanInstance)
307351
{
308-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
352+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
309353
UDATA softmx = javaVM->memoryManagerFunctions->j9gc_get_softmx(javaVM);
310354

311355
/* if no softmx has been set, report -Xmx instead as it is the current max heap size */
@@ -318,15 +362,15 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getMaxHeapSizeImpl(J
318362
jlong JNICALL
319363
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getMinHeapSizeImpl(JNIEnv *env, jobject beanInstance)
320364
{
321-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
365+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
322366

323367
return javaVM->memoryManagerFunctions->j9gc_get_initial_heap_size(javaVM);
324368
}
325369

326370
void JNICALL
327371
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_setMaxHeapSizeImpl(JNIEnv *env, jobject beanInstance, jlong newsoftmx)
328372
{
329-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
373+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
330374

331375
javaVM->memoryManagerFunctions->j9gc_set_softmx(javaVM, (UDATA)newsoftmx);
332376
}
@@ -337,7 +381,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_setSharedClassCacheS
337381
jboolean ret = JNI_FALSE;
338382

339383
#if defined(J9VM_OPT_SHARED_CLASSES)
340-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
384+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
341385

342386
if (javaVM->sharedClassConfig) {
343387
if (0 != javaVM->sharedClassConfig->setMinMaxBytes(javaVM, (U_32)value, -1, -1, -1, -1)) {
@@ -354,7 +398,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_setSharedClassCacheM
354398
jboolean ret = JNI_FALSE;
355399

356400
#if defined(J9VM_OPT_SHARED_CLASSES)
357-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
401+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
358402

359403
if (javaVM->sharedClassConfig) {
360404
if (0 != javaVM->sharedClassConfig->setMinMaxBytes(javaVM, (U_32)-1, (I_32)value, -1, -1, -1)) {
@@ -371,7 +415,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_setSharedClassCacheM
371415
jboolean ret = JNI_FALSE;
372416

373417
#if defined(J9VM_OPT_SHARED_CLASSES)
374-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
418+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
375419

376420
if (javaVM->sharedClassConfig) {
377421
if (0 != javaVM->sharedClassConfig->setMinMaxBytes(javaVM, (U_32)-1, -1, (I_32)value, -1, -1)) {
@@ -388,7 +432,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_setSharedClassCacheM
388432
jboolean ret = JNI_FALSE;
389433

390434
#if defined(J9VM_OPT_SHARED_CLASSES)
391-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
435+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
392436

393437
if (javaVM->sharedClassConfig) {
394438
if (0 != javaVM->sharedClassConfig->setMinMaxBytes(javaVM, (U_32)-1, -1, -1, (I_32)value, -1)) {
@@ -405,7 +449,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_setSharedClassCacheM
405449
jboolean ret = JNI_FALSE;
406450

407451
#if defined(J9VM_OPT_SHARED_CLASSES)
408-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
452+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
409453

410454
if (javaVM->sharedClassConfig) {
411455
if (0 != javaVM->sharedClassConfig->setMinMaxBytes(javaVM, (U_32)-1, -1, -1, -1, (I_32)value)) {
@@ -422,7 +466,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getSharedClassCacheS
422466
U_32 ret = 0;
423467

424468
#if defined(J9VM_OPT_SHARED_CLASSES)
425-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
469+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
426470

427471
if (javaVM->sharedClassConfig) {
428472
javaVM->sharedClassConfig->getUnstoredBytes(javaVM, &ret, NULL, NULL);
@@ -437,7 +481,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getSharedClassCacheM
437481
U_32 ret = 0;
438482

439483
#if defined(J9VM_OPT_SHARED_CLASSES)
440-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
484+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
441485

442486
if (javaVM->sharedClassConfig) {
443487
javaVM->sharedClassConfig->getUnstoredBytes(javaVM, NULL, &ret, NULL);
@@ -452,7 +496,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getSharedClassCacheM
452496
U_32 ret = 0;
453497

454498
#if defined(J9VM_OPT_SHARED_CLASSES)
455-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
499+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
456500

457501
if (javaVM->sharedClassConfig) {
458502
javaVM->sharedClassConfig->getUnstoredBytes(javaVM, NULL, NULL, &ret);
@@ -470,7 +514,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_isSetMaxHeapSizeSupp
470514
jstring JNICALL
471515
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getGCModeImpl(JNIEnv *env, jobject beanInstance)
472516
{
473-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
517+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
474518
const char *gcMode = javaVM->memoryManagerFunctions->j9gc_get_gcmodestring(javaVM);
475519

476520
if (NULL != gcMode) {
@@ -483,7 +527,7 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getGCModeImpl(JNIEnv
483527
jlong JNICALL
484528
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getGCMainThreadCpuUsedImpl(JNIEnv *env, jobject beanInstance)
485529
{
486-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
530+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
487531
J9JavaLangManagementData *mgmt = javaVM->managementData;
488532
jlong result = 0;
489533

@@ -497,12 +541,12 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getGCMainThreadCpuUs
497541
jlong JNICALL
498542
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getGCWorkerThreadsCpuUsedImpl(JNIEnv *env, jobject beanInstance)
499543
{
500-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
544+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
501545
J9JavaLangManagementData *mgmt = javaVM->managementData;
502546
jlong result = 0;
503547

504548
omrthread_rwmutex_enter_read(mgmt->managementDataLock);
505-
result = (jlong) mgmt->gcWorkerCpuTime;
549+
result = (jlong)mgmt->gcWorkerCpuTime;
506550
omrthread_rwmutex_exit_read(mgmt->managementDataLock);
507551

508552
return result;
@@ -511,12 +555,12 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getGCWorkerThreadsCp
511555
jint JNICALL
512556
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getMaximumGCThreadsImpl(JNIEnv *env, jobject beanInstance)
513557
{
514-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
558+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
515559
J9JavaLangManagementData *mgmt = javaVM->managementData;
516560
jint result = 0;
517561

518562
omrthread_rwmutex_enter_read(mgmt->managementDataLock);
519-
result = (jint) mgmt->gcMaxThreads;
563+
result = (jint)mgmt->gcMaxThreads;
520564
omrthread_rwmutex_exit_read(mgmt->managementDataLock);
521565

522566
return result;
@@ -525,12 +569,12 @@ Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getMaximumGCThreadsI
525569
jint JNICALL
526570
Java_com_ibm_java_lang_management_internal_MemoryMXBeanImpl_getCurrentGCThreadsImpl(JNIEnv *env, jobject beanInstance)
527571
{
528-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
572+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
529573
J9JavaLangManagementData *mgmt = javaVM->managementData;
530574
jint result = 0;
531575

532576
omrthread_rwmutex_enter_read(mgmt->managementDataLock);
533-
result = (jint) mgmt->gcCurrentThreads;
577+
result = (jint)mgmt->gcCurrentThreads;
534578
omrthread_rwmutex_exit_read(mgmt->managementDataLock);
535579

536580
return result;
@@ -541,7 +585,7 @@ void JNICALL
541585
Java_com_ibm_lang_management_internal_MemoryNotificationThread_processNotificationLoop(JNIEnv *env, jobject threadInstance)
542586
{
543587
/* currently, the only notification queue is for the heap */
544-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
588+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
545589
J9JavaLangManagementData *mgmt = javaVM->managementData;
546590
jclass threadClass = NULL;
547591
jclass stringClass = NULL;
@@ -726,7 +770,7 @@ Java_com_ibm_lang_management_internal_MemoryNotificationThread_processNotificati
726770
} else {
727771
/* dispatch usage threshold Notification */
728772
memoryPoolUsageThreshold *usageThreshold = notification->usageThreshold;
729-
idx = (U_32) getIndexFromMemoryPoolID(mgmt, usageThreshold->poolID);
773+
idx = (U_32)getIndexFromMemoryPoolID(mgmt, usageThreshold->poolID);
730774
pool = &mgmt->memoryPools[idx];
731775
poolName = poolNames[idx];
732776
if (THRESHOLD_EXCEEDED == notification->type) {
@@ -788,7 +832,7 @@ void JNICALL
788832
Java_com_ibm_lang_management_internal_MemoryNotificationThreadShutdown_sendShutdownNotification(JNIEnv *env, jobject instance)
789833
{
790834
/* currently, the only queue is the heap usage notification queue */
791-
J9JavaVM *javaVM = ((J9VMThread *) env)->javaVM;
835+
J9JavaVM *javaVM = ((J9VMThread *)env)->javaVM;
792836
J9JavaLangManagementData *mgmt = javaVM->managementData;
793837
J9MemoryNotification *notification = NULL;
794838
J9MemoryNotification *next = NULL;

0 commit comments

Comments
 (0)