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