[lworld] RFR: 8354728: [lworld] Langtools work to update strict implementation to latest

Vicente Romero vromero at openjdk.org
Wed Apr 16 00:51:56 UTC 2025


On Tue, 15 Apr 2025 23:35:44 GMT, Chen Liang <liach at openjdk.org> wrote:

> The updates to the core libraries + langtools for the latest strict field initialization spec https://cr.openjdk.org/~dlsmith/jep401/jep401-20250409/specs/strict-fields-jvms.html is ready.
> 
> Currently, since there is no VM support, testing is restricted to generation by ClassFile API/javac and inspection through ClassFile API (and javap)
> 
> Not suitable for integration yet; StrictFinalInstanceFieldsTest requires VM side's support.

src/java.base/share/classes/java/lang/reflect/AccessFlag.java line 391:

> 389:         @Override
> 390:         public String toString() {
> 391:             return "STRICT";

so we want the `toString` result to be `STRICT_INIT`?

src/java.base/share/classes/jdk/internal/classfile/impl/StackMapDecoder.java line 64:

> 62:                     SAME_LOCALS_1_STACK_ITEM_EXTENDED = 247,
> 63:                     SAME_EXTENDED = 251;
> 64:     private static final int BASE_FRAMES_UPPER_LIMIT = SAME_LOCALS_1_STACK_ITEM_EXTENDED; // not inclusive

shouldn't this be EARLY_LARVAL now?

src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Code.java line 1364:

> 1362: 
> 1363:         Set<VarSymbol> unsetFieldsAtPC = cpToUnsetFieldsMap.get(pc);
> 1364:         boolean generateAssertUnsetFieldsEntry = unsetFieldsAtPC != null && generateEarlyLarvalFrame && hasUninitalizedThis

we should probably rename this variable

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1432#discussion_r2045790139
PR Review Comment: https://git.openjdk.org/valhalla/pull/1432#discussion_r2045791461
PR Review Comment: https://git.openjdk.org/valhalla/pull/1432#discussion_r2045780965


More information about the valhalla-dev mailing list