RFR: 8313708: NMT: cleanup _mst_marker
Thomas Stuefe
stuefe at openjdk.org
Thu Aug 31 09:43:03 UTC 2023
On Wed, 23 Aug 2023 08:43:36 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:
>> While learning the NMT code I came across _mst_marker and I don't really like how it combines 16bit index and 16bit position into single 32bit mst_marker using bit sizzling.
>>
>> Consequently, right now we need the following 3 APIs: build_marker(), bucket_idx_from_marker(), pos_idx_from_marker() to support this. They are really not adding any value, in my opinion, and in fact obfuscate the code.
>>
>> I'd like to propose that we simplify the code and pass a struct value (as suggested by Thomas) which hides away the 2 individual fields that are implementation detail.
>
> src/hotspot/share/services/mallocSiteTable.cpp line 118:
>
>> 116: * Under any of above circumstances, caller should handle the situation.
>> 117: */
>> 118: MallocSite* MallocSiteTable::lookup_or_add(const NativeCallStack& key, uint16_t* bucket_idx, uint16_t* bucket_pos, MEMFLAGS flags) {
>
> Could it take a `BucketInfo*` instead of the two separate pointers?
I'd prefer BucketInfo* too
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15145#discussion_r1302903364
More information about the hotspot-runtime-dev
mailing list