RFR: Implementation of JEP 387: Elastic Metaspace (round two)

Coleen Phillimore coleen.phillimore at oracle.com
Fri Sep 18 12:17:31 UTC 2020


Using the entire MetaspaceArena (used to be SpaceManager) for the class 
metaspace was sort of the simplest thing to do because InstanceKlasses 
aren't fixed size.  If they were, we could have picked something much 
simpler!
Coleen

On 9/18/20 8:14 AM, Leo Korinth wrote:
>
>>
>> Finally, why was it chosen that each node could carry precisely two
>> chunk-roots? It seems somewhat easier to have a one-to-one relation
>> between chunk-root and VirtualSpaceNode (when we are already so close
>> to one).
>>
>
> Answering to myself: Because of compressed class space of course. Then we
> could no longer have one huge VirtualSpaceNode for compressed space, and
> VirtualSpaceList would need extra logic for allocating into the 
> compressed
> class address space. Or we would need more levels for the buddy allocator
> in compressed class space so that it could still be one huge node (with a
> huge root-chunk). Each of which is a non-trivial change.
>
> Sorry for my confusion.
>
> Thanks,
> Leo



More information about the hotspot-runtime-dev mailing list