[lworld] RFR: 8326595: [lworld] Bootstrap VM transition to JEP 401 model

Frederic Parain fparain at openjdk.org
Fri Feb 23 19:06:15 UTC 2024


Bootstrapping transition to JEP 401 model.
A lot of things are broken, but at least the build works on most platforms, the VM can boot and execute some JEP 401 class files in interpreted mode. The ability to run code with value classes is still limited because the VM depends on some JDK core classes that need to be updated too (reflection and substitutability test).

Transition changes include:
  - Accepting new class file format (not rejecting correct JEP 401 class files), changes class hierarchy rules, class flags meaning, changes verifier rules
  - Update new and putfield bytecodes in interpreter to support new construction sequence
  - Runtime tests fixes

Cleanup changes include:
  - Removal of support of Q-descriptors (and Q-desc bit in constant pool)
  - Removal of support of old class flags (ACC_VALUE)
  - Removal of aconst_init and withfield bytecodes from the interpreter and C1
  - Removal of support for secondary mirror
  - Removal of support for primitive classes
  - Removal of support for value factories (<vnew>)
  - Partial removal of T_PRIMITIVE_OBJECT

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

Commit messages:
 - Bootstrap transition to JEP 401 model

Changes: https://git.openjdk.org/valhalla/pull/1017/files
 Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1017&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8326595
  Stats: 2101 lines in 161 files changed: 95 ins; 1647 del; 359 mod
  Patch: https://git.openjdk.org/valhalla/pull/1017.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1017/head:pull/1017

PR: https://git.openjdk.org/valhalla/pull/1017



More information about the valhalla-dev mailing list