JDK-8295268 : Optimized builds are broken due to incorrect assert_is_rfp shortcuts
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 19,20
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-10-13
  • Updated: 2022-11-11
  • Resolved: 2022-10-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 19 JDK 20
19.0.2Fixed 20 b20Fixed
Related Reports
Relates :  
Description
Fails on many platforms, for example arm32:

```
/home/shade/trunks/jdk/src/hotspot/cpu/arm/smallRegisterMap_arm.inline.hpp:36:36: error: expected ';' at end of member declaration
   36 |   static void assert_is_rfp(VMReg r) PRODUCT_RETURN
      |                                    ^
```

The reason is that `PRODUCT_RETURN` + `DEBUG_ONLY` are not unity: in "optimized" builds, we have `!PRODUCT` and `!DEBUG`.

```
  static void assert_is_rfp(VMReg r) PRODUCT_RETURN
                                     DEBUG_ONLY({ Unimplemented(); })
```

Comments
A pull request was submitted for review. URL: https://git.openjdk.org/jdk19u/pull/50 Date: 2022-10-20 10:18:55 +0000
20-10-2022

Fix Request (19u) Fixes optimized builds on some architectures, broken by Virtual Threads integration.
20-10-2022

Changeset: e7a964b4 Author: Aleksey Shipilev <shade@openjdk.org> Date: 2022-10-18 09:59:05 +0000 URL: https://git.openjdk.org/jdk/commit/e7a964b4dbbdd21eba87dc94eb3680e9553f5039
18-10-2022

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/10696 Date: 2022-10-13 12:03:16 +0000
13-10-2022