RFR: Fix Minimal VM build failures [v3]
Serguei Spitsyn
sspitsyn at openjdk.java.net
Wed Sep 29 10:57:39 UTC 2021
On Tue, 28 Sep 2021 15:39:12 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)
>
> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>
> INCLUDE_JVMTI all Thread methods
I've inlined just one comment.
Other than that the update looks good to me.
Thanks,
Serguei
src/hotspot/share/prims/jvmtiThreadState.cpp line 88:
> 86: _is_in_VTMT = false;
> 87: _is_virtual = false;
> 88: #endif
I'm not sure this change is really needed.
My understanding is that the `jvmtiThreadState.cpp` is fully excluded in `non-INCLUDE_JVMTI` mode.
-------------
Marked as reviewed by sspitsyn (Committer).
PR: https://git.openjdk.java.net/loom/pull/67
More information about the loom-dev
mailing list