RFR: 8370077: C2: make Compile::_major_progress a boolean
Vladimir Kozlov
kvn at openjdk.org
Wed Oct 22 16:36:21 UTC 2025
On Wed, 22 Oct 2025 07:36:35 GMT, Marc Chevalier <mchevalier at openjdk.org> wrote:
>> Or you can keep temporary (just for testing this PR and remove it before integration) original logic in debug VM to compare result of `major_progress()`.
>
> @vnkozlov I fear I don't understand what you're suggesting.
>
> I've tried to add in my `set_major_progress(bool)` an assert to check we are not in the 3rd case, the one where the assignment-semantics and the OR-semantics mismatch (that is with `progress` parameter (old progress) unset and current `_major_progress` set). And indeed the assert does not fire in tier1-6+some other internal testing.
@marc-chevalier
Here is what I am proposing to check if functionality is preserved and answer @eme64 concern.
1. make sure `_major_progress` accessed/updated through accessors methods.
2. add "new" field `_old_major_progress`
3. Restore old accessors methods but rename them with prefix `old_` and use them to update/access `_old_major_progress`
4. In new `major_progress()` add `assert((_old_major_progress > 0) == _major_progress, "should match")`. You can print values if they are not matching.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/27912#issuecomment-3433257601
More information about the hotspot-compiler-dev
mailing list