[jdk11u] RFR: 8304389: [11u] Crash on Windows in C2 compiled code after 8248238 and 8218431

Goetz Lindenmaier goetz at openjdk.org
Tue Mar 21 07:25:49 UTC 2023


On Tue, 21 Mar 2023 00:56:41 GMT, Dean Long <dlong at openjdk.org> wrote:

>> Actually, the configuration leading to errors exactly implements the calling conventions as speified here https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170#callercallee-saved-registers .
>> 
>> The other configuration, doing more save-on-call, is always correct, but inefficient in case the registers are also saved-on-entry. In that case the registers are saved twice.  This is the configuration established by this change again.
>
> @GoeLin, after more consideration, your fix does seem safest.  However, it might help to have a comment explaining why that change has been disabled.  So it might be better to comment out that .gmk logic rather than delete it.

Hi @dean-long, if I comment it out, it is no more set on aarch64.
I can add a comment pointing to this bug though.
But maybe it is better to fiddle with the ad file as you say.
In case a later backport brings new #ifdef _WIN64 coding to the ad files.
Currently, the problematic switch is the only occurance.

By the way, as I said in the JBS issue, I think the change making the difference in 16 is "[JDK-8256205](https://bugs.openjdk.org/browse/JDK-8256205): Simplify compiler calling convention handling"

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

PR Comment: https://git.openjdk.org/jdk11u/pull/70#issuecomment-1477378708


More information about the jdk-updates-dev mailing list