RFR: 8266530: HotSpot changes for JEP 306 [v3]

Joe Darcy darcy at openjdk.java.net
Fri May 7 21:46:44 UTC 2021


On Fri, 7 May 2021 10:44:59 GMT, David Holmes <dholmes at openjdk.org> wrote:

> 
> 
> Hi Joe,
> 
> I don't really understand the proposed changes. If strictfp is implied to always be true that is fine, but if the ACC_STRICT modifier is applied then I don't see how it makes sense to allow it suddenly appear in places where it is not currently allowed. And if ACC_STRICT is to be undefined then I don't see how these changes suffice. ??
> 
> David

Hi David,

The proposed JVM spec change is that only strict evaluation is supported.

Non-strict evaluation was (in practice) only possible on x86 and only if the old x87 FPU stack was being used. As of     JDK-7175279: "Don't use x87 FPU on x86-64" fixed in JDK 15, at least 64-bit x86 code should be all-strict all the time in its implementation. No other supported CPU family could operate in a non-strict fashion.

For the ACC_STRICT bit, the proposal is to keep with its current definition for major class file versions 46 through 60 but to undefine the bit for class file version 61 (JDK 17). If the bit is undefined for version 61, the rationale is it should be ignored for the "abstract && strictfp" check.

-Joe

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

PR: https://git.openjdk.java.net/jdk/pull/3891


More information about the hotspot-runtime-dev mailing list