RFR: 8366363: MemBaseline accesses VMT without using lock

Casper Norrbin cnorrbin at openjdk.org
Mon Sep 1 12:27:43 UTC 2025


On Fri, 29 Aug 2025 19:02:16 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

>> Hi,
>> 
>> The `MemBaseline` used to access the VMT instance directly without a lock. We fix that, and we switch from using a `LinkedList` to a copied `RegionsTree` instead.
>
> src/hotspot/share/utilities/rbTree.hpp line 454:
> 
>> 452: public:
>> 453:   RBTree() : BaseType(), _allocator() {}
>> 454:   RBTree(const RBTree& other) : BaseType(), _allocator() {
> 
> @caspernorrbin , I added this. Does it look correct?

Looks correct to me, as long as the value type can also be properly copy-constructible. Maybe we can add in an assert to avoid potential future misuse? :-)

Something like:
`assert(std::is_copy_constructible<V>(), "Value type must be copy-constructible");`

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27003#discussion_r2313812719


More information about the hotspot-dev mailing list