Skip to content

Commit

Permalink
Downgrade isIndexableDataAddrPresent to U_32
Browse files Browse the repository at this point in the history
Effectively this was used as a BOOLEAN (which is typedef of U_32/I_32),
but being UDATA just taking more space than necessary on 64bit
platforms.

Thus compiler will be able to better pack 2 consecutive boolean fields
(isIndexableDataAddrPresent and isVirtualLargeObjectHeapEnabled)

Using U_32 rather than BOOLEAN to be able to consistently update DDR
code (which seems not to use BOOLEAN)

Signed-off-by: Aleksandar Micic <[email protected]>
  • Loading branch information
Aleksandar Micic authored and Aleksandar Micic committed Dec 11, 2024
1 parent e8707b4 commit 54bd0f7
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion debugtools/DDR_VM/src/com/ibm/j9ddr/AuxFieldInfo29.dat
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ J9JavaVM.hiddenLockwordFieldShape = required
J9JavaVM.identityHashData = required
J9JavaVM.impdep1PC = U8*
J9JavaVM.initialMethods = required
J9JavaVM.isIndexableDataAddrPresent = UDATA
J9JavaVM.isIndexableDataAddrPresent = U_32
J9JavaVM.intReflectClass = required
J9JavaVM.j2seVersion = required
J9JavaVM.j9ras = required
Expand Down
10 changes: 5 additions & 5 deletions runtime/oti/j9nonbuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -5516,8 +5516,8 @@ typedef struct J9VMThread {
UDATA contiguousIndexableHeaderSize;
UDATA discontiguousIndexableHeaderSize;
#if defined(J9VM_ENV_DATA64)
UDATA isIndexableDataAddrPresent;
BOOLEAN isVirtualLargeObjectHeapEnabled;
U_32 isIndexableDataAddrPresent;
U_32 isVirtualLargeObjectHeapEnabled;
#endif /* defined(J9VM_ENV_DATA64) */
void* gpInfo;
void* jitVMwithThreadInfo;
Expand Down Expand Up @@ -6078,9 +6078,9 @@ typedef struct J9JavaVM {
UDATA contiguousIndexableHeaderSize;
UDATA discontiguousIndexableHeaderSize;
#if defined(J9VM_ENV_DATA64)
UDATA isIndexableDataAddrPresent;
BOOLEAN isVirtualLargeObjectHeapEnabled;
BOOLEAN isIndexableDualHeaderShapeEnabled;
U_32 isIndexableDataAddrPresent;
U_32 isVirtualLargeObjectHeapEnabled;
U_32 isIndexableDualHeaderShapeEnabled;
#endif /* defined(J9VM_ENV_DATA64) */
struct J9VMThread* exclusiveVMAccessQueueHead;
struct J9VMThread* exclusiveVMAccessQueueTail;
Expand Down

1 comment on commit 54bd0f7

@rewertt
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

esta bien

Please sign in to comment.