RFR: Fix Minimal VM build failures
Alan Bateman
alanb at openjdk.java.net
Mon Sep 27 18:53:15 UTC 2021
On Mon, 27 Sep 2021 10:57:07 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> Minimal VM configs have no C2 and no JVMTI. New Loom code fails the Minimal VM builds because of this. See for example GHA runs: https://github.com/shipilev/loom/runs/3717293969?check_suite_focus=true
>
> C2 needs just a little bit of protection when reaching to `DerivedPointersTable`.
>
> JVMTI needs a bit more work. `jvmtiExport` and `jvmtiThreadState` headers are usually included even with JVMTI turned off, but `.cpp` would not be compiled without JVMTI. Therefore, non-trivial implementations should go into `.cpp`. Plus, some of the paths that call the actual methods declared but not implemented without JVMTI should be protected with `INCLUDE_JVMTI`.
>
> Additional testing:
> - [x] Linux x86_64 server, `tier1_loom` still passes (includes JVMTI tests)
> - [x] Linux x86_64 minimal now builds, runs `tier1_loom` (cannot pass JVMTI tests without JVMTI)
src/hotspot/share/prims/jvm.cpp line 3919:
> 3917: JvmtiExport::post_vthread_mount(vthread);
> 3918: }
> 3919: #endif
It would be bug if these functions were called when JVMTI isn't compiled in so maybe we should put an #else ShouldNotReachHere() to catch it.
-------------
PR: https://git.openjdk.java.net/loom/pull/67
More information about the loom-dev
mailing list