RFR: 8358586: ZGC: Combine ZAllocator and ZObjectAllocator [v8]

Joel Sikström jsikstro at openjdk.org
Wed Jun 25 08:00:22 UTC 2025


On Wed, 25 Jun 2025 05:15:03 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

>> Joel Sikström has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision:
>> 
>>  - Merge branch 'master' into JDK-8358586_zallocator_cleanup
>>  - Rework ZObjectAllocator
>>  - Private member variables in ZObjectAlloactorImpl
>>  - Move implementation to .cpp and static-only interface in .hpp
>>  - Consistent template friend style
>>  - Friend class ValueObjBlock
>>  - AllStatic interface with ZObjectAllocators
>>  - -Wconversion fixes
>>  - Intermediate alloc_object in ZHeap
>>  - 8358586: ZGC: Combine ZAllocator and ZObjectAllocator
>
> src/hotspot/share/gc/z/zDeferredConstructed.hpp line 33:
> 
>> 31: 
>> 32: template<typename T>
>> 33: class ZDeferredConstructed {
> 
> We should move the definitions to zDeferredConstructed.inline.hpp. It is an exceptional case that we have them in the header instead of the inline header file. 
> 
> _(We usually only do this when the compiler needs a definition like when creating destructors for types containing none trivial destructors, we would probably also allow it if we would want constexpr creation of variables in header files)_

I agree with you. I've moved the definitions to an inline header.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25693#discussion_r2166056025


More information about the hotspot-gc-dev mailing list