The difference between ZAllocator and ZObjectAllocator is very small, especially after JDK-8353184, which removed some edge-cases in ZAllocator and ZObjectAllocator.
Right now, ZAllocator is more or less a mirror of ZObjectAllocator, which opens up the question of whether ZAllocator is needed at all, and if it can be merged with ZObjectAllocator. Additionally, the storage of the static allocators (currently ZAllocator) is in ZHeap, and ZAllocator stores pointers to these storage(s). Instead, the storage should be moved to the allocator class (ZObjectAllocator after merging them), to make the code easier to understand.
WhenJDK-8357053 is introduced, it becomes more straightforward to use ZPageAge when defining and iterating over structures based on page ages. So, JDK-8357053 should be integrated first.
Right now, ZAllocator is more or less a mirror of ZObjectAllocator, which opens up the question of whether ZAllocator is needed at all, and if it can be merged with ZObjectAllocator. Additionally, the storage of the static allocators (currently ZAllocator) is in ZHeap, and ZAllocator stores pointers to these storage(s). Instead, the storage should be moved to the allocator class (ZObjectAllocator after merging them), to make the code easier to understand.
When
- links to
-
Review(master) openjdk/jdk/25693