RFR: 8294308: Allow dynamically choosing the MEMFLAGS of a type without ResourceObj [v2]
Coleen Phillimore
coleenp at openjdk.org
Mon Sep 26 15:38:20 UTC 2022
On Mon, 26 Sep 2022 10:13:18 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
>> Good idea! I implemented this instead.
>
> We can eliminate this problem:
> "I guess the risk is that you get mtInternal if you forget the parameter to new."
>
> We can instead have CHeapObj<mtFoo> that *only* allocates with mtFoo, and
> CHeapObj<> that *requires* specifying the flag when allocating the memory. (I
> did something like this for the CHeapAllocator in my prototype for Standard
> Library usage.) As part of that, we can also have the MEMFLAGS argument (when
> needed) always be the first argument in the placement list.
>
> Very(!) lightly tested:
> https://github.com/kimbarrett/openjdk-jdk/tree/dynamic-memflags
Or you could have the class that requires dynamic mtFlag be declared with mtNone and assert in one place in AllocateHeap that mt != mtNone. Actually that assert might already be there. Can't really puzzle out what Kim's change does.
-------------
PR: https://git.openjdk.org/jdk/pull/10412
More information about the hotspot-dev
mailing list