RFR: 8294729: [s390] Implement nmethod entry barriers

Tyler Steele tsteele at openjdk.org
Wed Oct 26 20:00:41 UTC 2022


On Tue, 11 Oct 2022 15:59:33 GMT, Lutz Schmidt <lucy at openjdk.org> wrote:

>> I'm happy to change bcondNotEqual -> bcondNotZero, especially since it seems to more clearly represent the intent. Thanks for the suggestion.
>> 
>> Out of curiosity: How are they different? You mentioned above that there are semantic differences between not equal and not zero, but in assembler_s390.hpp, it looks like bcondNotZero is actually an alias for bcondNotEqual.
>
> You are right. The two conditions are technically identical. There is a semantic difference. If you say "NotEqual", you imply that you compared two (arbitrary) values. If you say "NotZero", it is clear that you tested the value against zero. When you use LTR to test a value and copy it at the same time, it may be confusing for the not so profound s390 hacker. Example:
> 
> z_ltr(Z_R1, Z_R2);
> z_bcr(Assembler::bcondNotEqual, R14);
> 
> Was the contents of the registers compared before r2 was copied into r1? For sure not, you say. But that's because you are a profound s390 hacker meanwhile. :-)

I see the reasoning here; thanks for clarifying.

Thanks also for your kind words. I'm not sure that I quite at the level of s390 hacker indicated above, but I'm working on it :-)

-------------

PR: https://git.openjdk.org/jdk/pull/10558


More information about the hotspot-dev mailing list