Hi, We're a little late to the party, but we now have a stable, buildable implementation of Valhalla for s390x. I have a couple of questions:
1. What would be the preferred approach for upstreaming the s390x implementation? I understand that the code freeze happened on 19 June. Should we prepare a PR against the jdk/master branch, and once Valhalla is integrated into jdk/master, rebase and upstream the s390x port there? If there's a better approach, please let me know. The changes are almost entirely s390-specific, so they should not affect other platforms. 2. The s390 Loom port is currently under review [1] and has already received one approval. Once it receives a second approval, should we go ahead and integrate it into the mainline? It also consists primarily of architecture-specific changes. Or would it be preferable to wait until Valhalla has been integrated? Thanks, Amit [1]: https://github.com/openjdk/jdk/pull/31441 On 6 Jan 2026, at 4:51 AM, Dan Smith <[email protected]> wrote: Hello, porters! The Valhalla project has been implementing JEP 401: Value Classes and Objects (Preview) in a branch of our Github repository. Over the next few months, we will be preparing to target and integrate the JEP. This will be a very large commit touching many components of HotSpot, so now is a good time to start aligning your ports with the anticipated changes and ensuring conformance with the updated specifications. Some pointers: Value Classes JEP: https://urldefense.proofpoint.com/v2/url?u=https-3A__openjdk.org_jeps_401&d=DwIFAg&c=BSDicqBQBDjDI9RkVyTcHQ&r=7RO9jvVQexTA4NUAXW9Yl7_AQTInobe-A2QB7-jZ_OE&m=6dFX1UP3Y05K9_sq4LJnZpe8sSVx55wR790SawIlm7EAHLeh-Plfk_W-8hUnCZIh&s=QGlhfi5_5iGg6f3etjNkw5IjM-Xwj60abnLg5KOF82w&e= Supplementary strict field initialization JEP: https://urldefense.proofpoint.com/v2/url?u=https-3A__openjdk.org_jeps_8350458&d=DwIFAg&c=BSDicqBQBDjDI9RkVyTcHQ&r=7RO9jvVQexTA4NUAXW9Yl7_AQTInobe-A2QB7-jZ_OE&m=6dFX1UP3Y05K9_sq4LJnZpe8sSVx55wR790SawIlm7EAHLeh-Plfk_W-8hUnCZIh&s=TrjbH37VxKToKTSJL87KlWBsgFXOsacxBrGaWplFw2U&e= JVMS changes (value classes): https://urldefense.proofpoint.com/v2/url?u=https-3A__cr.openjdk.org_-7Edlsmith_jep401_jep401-2D20251210_specs_value-2Dobjects-2Djvms.html&d=DwIFAg&c=BSDicqBQBDjDI9RkVyTcHQ&r=7RO9jvVQexTA4NUAXW9Yl7_AQTInobe-A2QB7-jZ_OE&m=6dFX1UP3Y05K9_sq4LJnZpe8sSVx55wR790SawIlm7EAHLeh-Plfk_W-8hUnCZIh&s=vYHKRfAN2jEovRwUM6zvr-9BtxJoNLZkVjiSlG_dGNU&e= JVMS changes (field initialization): https://urldefense.proofpoint.com/v2/url?u=https-3A__cr.openjdk.org_-7Edlsmith_jep401_jep401-2D20251210_specs_strict-2Dfields-2Djvms.html&d=DwIFAg&c=BSDicqBQBDjDI9RkVyTcHQ&r=7RO9jvVQexTA4NUAXW9Yl7_AQTInobe-A2QB7-jZ_OE&m=6dFX1UP3Y05K9_sq4LJnZpe8sSVx55wR790SawIlm7EAHLeh-Plfk_W-8hUnCZIh&s=5KpBwBULPL-UsTRVnozIgaq1-oZGs5lTEqXOQKXsFao&e= Git branch: https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openjdk_valhalla_tree_lworld&d=DwIFAg&c=BSDicqBQBDjDI9RkVyTcHQ&r=7RO9jvVQexTA4NUAXW9Yl7_AQTInobe-A2QB7-jZ_OE&m=6dFX1UP3Y05K9_sq4LJnZpe8sSVx55wR790SawIlm7EAHLeh-Plfk_W-8hUnCZIh&s=W9vqn6scIsbiIWq9Gx8eKcuVOCB65VLFHZ88X1bv1To&e= As a baseline, you may want to focus on *compliance* without adopting any of the value object *optimizations*. A compliant JVM will recognize and validate the ACC_IDENTITY and ACC_STRICT_INIT flags, and will follow the new semantics for 'acmp', 'ifnull', and 'monitorenter'; but can ignore the contents of 'LoadableDescriptors', and need not support scalarized or flattened object encodings. Please reach out to valhalla-dev, or to me personally, if you need any help or clarifications to align with these changes.
