remove INCLUDE_NMT?
David Holmes
david.holmes at oracle.com
Thu Jan 20 07:22:28 UTC 2022
Hi Thomas,
On 20/01/2022 4:58 pm, Thomas Stüfe wrote:
> Hi,
>
> we have NMT, and NMT can be disabled at build time. It can also be disabled
> at runtime. NMT disabling at build time causes INCLUDE_NMT to be false.
>
> So we have four scenarios:
>
> 1 nmt disabled at build (minimal VM)
> 2 nmt enabled, off
> 3 nmt enabled, summary mode
> 4 nmt enabled, detail mode
>
> Removing (1) would simplify code and be one less configuration to test. Do
> we really need the ability to exclude NMT from build? We have other
> facilities which are not strictly necessary either but which we cannot
> disable, e.g. UL. So it feels a bit arbitrary to take that much care for
> NMT. Was there a reason for that?
It comes from the Compact Profiles work in JDK 8 and the MinimalVM. I
would not put UL in the same category as NMT as UL is far more generally
useful even in a MinimalVM (though UL did not exist in 8).
> It only matters for minimal builds, since I don't know any real VM out
> there which does not come with NMT.
>
> NMT comes with a few static data, but those are only a few KB and we could
> instead allocate them on demand. NMT is not difficult to port either, which
> would be another reason to keep it optional.
>
> What do you think?
I think you always need NMT present for your changes in JDK-8277822 to
be valid! :)
I don't know who, if anyone, uses a minimal VM these days. If the NMT
code doesn't add much to the disk or memory footprint then I think we
could decide to make it non-optional.
Cheers,
David
-----
> Thanks, Thomas
More information about the hotspot-runtime-dev
mailing list