RFR: Fix Optimized builds
Aleksey Shipilev
shade at openjdk.java.net
Thu Sep 30 08:27:11 UTC 2021
On Mon, 27 Sep 2021 12:13:00 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> The usual trap in Hotspot code is the belief that `ASSERT <=> !PRODUCT`, but that's not actually true. You would not see this in regular release (`!ASSERT`, `PRODUCT`) or fastdebug (`ASSERT`, `!PRODUCT`) builds, but you would see it in optimized (`!ASSERT`, `!PRODUCT`) builds. See for example GHA: https://github.com/shipilev/loom/runs/3717294006?check_suite_focus=true
>
> The use of `ASSERT` and `PRODUCT` should be consistent to avoid build failures in optimized builds.
>
> Additional testing:
> - [x] Linux x86_64 optimized now builds
> - [x] Linux x86_64 release still builds
> - [x] Linux x86_64 fastdebug still builds
That said, I can rewrite all `PRODUCT` defines to `ASSERT`/`DEBUG`, if that was the intent. I think the current patch uses `!PRODUCT` and `ASSERT`/`DEBUG` inconsistently, so we can lean into one side more heavily, e.g. drop all `PRODUCT` thingies...
-------------
PR: https://git.openjdk.java.net/loom/pull/69
More information about the loom-dev
mailing list