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

Tobias Hartmann thartmann at openjdk.org
Mon Feb 26 12:10:05 UTC 2024


On Thu, 22 Feb 2024 20:24:15 GMT, Frederic Parain <fparain at openjdk.org> wrote:

> 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

The ci, C1 and C2 changes look good to me. Thanks a lot for the first cleanup here, Frederic!

src/hotspot/share/opto/library_call.cpp line 4118:

> 4116:   }
> 4117: 
> 4118:   // // JDK-8325660: Code has been modified because secondary mirror are gone in JEP 401

Suggestion:

  // JDK-8325660: Code has been modified because secondary mirror are gone in JEP 401

src/hotspot/share/opto/parse2.cpp line 3510:

> 3508:     break;
> 3509:   case Bytecodes::_withfield:
> 3510:     do_withfield();

Could you add a `// TODO JDK-8325660` to both methods so we don't forget removing them (or simply remove them right away)?

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

Marked as reviewed by thartmann (Committer).

PR Review: https://git.openjdk.org/valhalla/pull/1017#pullrequestreview-1900714224
PR Review Comment: https://git.openjdk.org/valhalla/pull/1017#discussion_r1502506617
PR Review Comment: https://git.openjdk.org/valhalla/pull/1017#discussion_r1502509510



More information about the valhalla-dev mailing list