[crac] RFR: Support -XX:+IgnoreCPUFeatures during -XX:CRaCRestoreFrom [v3]

Jan Kratochvil jkratochvil at openjdk.org
Sun Aug 20 16:57:05 UTC 2023

On Mon, 14 Aug 2023 17:23:06 GMT, Anton Kozlov <akozlov at openjdk.org> wrote:

>> Jan Kratochvil has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
>>  - Implement -XX:+IgnoreCPUFeatures
>>  - Merge branch 'crac' into crac-restoreignore
>>  - Split off crac_restore_finalize() from crac_restore().
>>  - Document -XX:CPUFeatures=ignore, reject !ignore during -XX:CRaCRestoreFrom
>>  - Support -XX:CPUFeatures=ignore during -XX:CRaCRestoreFrom
> src/hotspot/cpu/x86/vm_version_x86.cpp line 2758:
>> 2756:   }
>> 2757: 
>> 2758:   auto supports_exit = [&](const char *supports, bool file, bool this_cpu) {
> Just a note, not a part of this PR: all `_supports_*`, except _supports_cx8, are hard-wired to `true`, and all of them mostly serve to communicate CPU capabilities to the shared code.
> The `_supports_cx8` equals to supports_cmpxchg8(), and I assume this is supported pretty widely. And supports_cmpxchg8 implemented via` _features & CPU_CX8`, so that is tested along CPU features check.
> It looks the whole handling of `_supports_*` can be removed, or at least be turned into assert()s.

The `_supports_*` code It has been removed by #103 so it is no longer relevant. `CX8` is not supported by 32-bit CPUs.


PR Review Comment: https://git.openjdk.org/crac/pull/100#discussion_r1299405902

More information about the crac-dev mailing list