RFR: 8342042: PPC64: compiler_fast_unlock_object flags failure instead of success
Richard Reingruber
rrich at openjdk.org
Wed Oct 16 19:29:11 UTC 2024
On Wed, 16 Oct 2024 07:55:06 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
>> Seems like `compiler_fast_unlock_lightweight_object` could do the same.
>>
>> It does the same branch, but correctly, by going through a `crorc(CCR0, Assembler::equal, CCR0, Assembler::equal)` in the success path.
>
>> Seems like `compiler_fast_unlock_lightweight_object` could do the same.
>>
>> It does the same branch, but correctly, by going through a `crorc(CCR0, Assembler::equal, CCR0, Assembler::equal)` in the success path.
>
> I think you're right. I wanted to see if [`set_eq_unlocked`](https://github.com/openjdk/jdk/blob/dcac4b0a532f2ca6cb374da7ece331e8266ab351/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp#L3087) could be eliminated and then forgot about it.
> @reinrich Thank you for finding and fixing this. Also sorry for not finding this when I tested my PR.
Thanks for looking at this @fbredber. Even with the assertions from https://github.com/openjdk/jdk/pull/21494 this didn't cause failures testing jdk 24. So no worries about the testing of your PR.
I found the issue working on the PPC port of the vthread monitor support in the loom repo. There an assertion in the runtime failed when the slow path was taken. I don't know why though.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21496#issuecomment-2417759654
More information about the hotspot-compiler-dev
mailing list