RFR: 8372754: Add wrapper for <cstdlib>

Kim Barrett kbarrett at openjdk.org
Wed Dec 10 22:31:51 UTC 2025


On Sat, 29 Nov 2025 05:09:49 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:

> Please review this change that adds a HotSpot wrapper for <cstdlib>.  It also
> includes the forbidden function declarations for functions declared there,
> moving them from forbiddenFunctions.hpp and friends.
> 
> The AIX-specific workaround for its macro-based renaming of malloc/calloc is
> also moved to this wrapper, so there is a single location for it. Also cleaned
> it up a bit, based on further investigation of the problem.
> 
> Also changed uses of <cstdlib> and <stdlib.h> to include the wrapper instead.
> There are still a couple of includes of <stdlib.h> in the hotspot directory,
> because they can't use the hotspot wrapper: os/windows/include/jvm_md.h and
> share/adlc/adlc.hpp.  I looked at removing the one in windows jvm_md.h, but
> there are a lot of dependencies on that implicit include in non-HotSpot code.
> 
> While updating to use the wrapper, I also did a small amount of include
> cleanup here and there.  The changes around immediate_aarch64.hpp are perhaps
> a little less trivial than I should have made here.
> 
> Testing: mach5 tier1
> 
> This should probably be retested by aix port maintainer folks, although I
> don't think I made any relevant changes since you last tested it.
> 
> This change also resolves:

src/hotspot/share/cppstdlib/cstdlib.hpp line 70:

> 68: // namespace, macro replacement causes the expanded names to be added instead
> 69: // of the intended names. We can't remove std::vec_malloc and std::vec_calloc,
> 70: // but we do add the standard names in case someone uses them.

We might be able to avoid this mess by first including `<stdlib.h>`, then remove the macros, and
then include `<cstdlib>`.  But hopefully we won't have to wait forever to just retire this whole
workaround.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28562#discussion_r2608437303


More information about the hotspot-dev mailing list