RFR: 8369187: Add wrapper for <new> that forbids use of global allocation and deallocation functions [v3]
John R Rose
jrose at openjdk.org
Wed Nov 19 20:35:01 UTC 2025
On Sun, 16 Nov 2025 01:10:40 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
>> 8369187: Add wrapper for <new> that forbids use of global allocation and deallocation functions
>>
>> Please review this change that adds `cppstdlib/new.hpp` as a wrapper for
>> including `<new>`. All existing inclusions of `<new>` are changed to include
>> the new wrapper.
>>
>> In additional to including `<new>`, this wrapper also provides deprecation
>> declarations to prevent the use of some facilities by HotSpot code.
>>
>> However, those deprecations need to be conditionalized to not apply to gtests,
>> so this change also adds a macro definition provided by the build system for
>> use in detecting that a header is being included by a gtest.
>>
>> Testing: mach5 tier1
>
> Kim Barrett has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
>
> - Merge branch 'master' into wrap-stdlib-new
> - poison implicit alloc/dealloc in globalDefinitions
> - Merge branch 'master' into wrap-stdlib-new
> - further conditionalize deprecation of hardare interference sizes
> - add wrapper for <new>
Does what it says on the tin; good.
(The stuff about hardware interference sizes seems a distraction, but I accept it’s part of the modern API for dynamic allocation, so away it goes. We can and should make our own platform-level queries as needed for this sort of thing.)
-------------
Marked as reviewed by jrose (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/28250#pullrequestreview-3484631257
More information about the build-dev
mailing list