RFR: 8333891: Method excluded with directive is not compiled after removal of directive
Evgeny Astigeevich
eastigeevich at openjdk.org
Mon Sep 2 20:42:26 UTC 2024
On Mon, 2 Sep 2024 11:29:05 GMT, Damon Fenacci <dfenacci at openjdk.org> wrote:
>>> Test `runtime/BootstrapMethod/BSMCalledTwice.java` might have failed on Windows x64 because of the change.
>>
>> I managed to reproduce the failure. The test fails because of my change.
>> There is a data race:
>>
>> Thread1: cleaning_flag ... setting_flag ... assert
>> Thread2: cleaning_flag ... setting_flag ... assert
>>
>>
>> `Thread2` can clean the flag between `Thread1` setting the flag and checking the assert.
>
> @eastig are you still working on this? Do you want to reopen it?
Hi @dafedafe,
IMO as the fix is not simple it might not be worth to merge. The fix uses method flags.
I have not seen compiler directives are used a lot, especially the case: add a directive and remove the directive.
This can be waste of method flags.
This PR got linked to the JBS issue. When more users complain of the issue, we can reconsider the fix.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19637#issuecomment-2325283583
More information about the hotspot-compiler-dev
mailing list