[lworld] RFR: 8293253: [lw4] Code fixing access flags in old class files is incorrect and incomplete

Frederic Parain fparain at openjdk.org
Thu Sep 1 20:17:00 UTC 2022


Please review this code fixing the code that adds the missing ACC_SUPER/ACC_IDENTITY flag in old class files.
Those changes fix both JDK-8291719 and JDK-8293169.

Tested with Mach5, tier1-3.

But those changes also trigger new failures that should be addressed in additional CR:

java/lang/invoke/defineHiddenClass/BasicTest.java:
  - assertion failure because test doesn't expect ACC_IDENTITY to be present
    not sure about the fix if non-Valhalla configurations are run
    BTW, the test already uses ACC_IDENTITY in some places

 java/lang/reflect/AccessFlag/ClassAccessFlagTest.java:
  - another Java test surprised by the presence of ACC_IDENTITY

serviceability/jvmti/RedefineClasses/RedefineObject.java:
  - changes in access flags leads to the class redefinition code to reject
    an attempt to redefine a class because it sees a mismatch in access flags
    (forbidden by class redefinition rules)

tools/javac/preview/PreviewTest.java
  - not sure about this one, need input from a javac expert

Still some failures in JCK test, vm/classfmt/cpl and vm/instr/invokespecial
but they will be addressed in another patch.

Thank you,

Fred

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

Commit messages:
 - Fix code fixing access flags in old class files

Changes: https://git.openjdk.org/valhalla/pull/739/files
 Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=739&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8293253
  Stats: 19 lines in 2 files changed: 15 ins; 3 del; 1 mod
  Patch: https://git.openjdk.org/valhalla/pull/739.diff
  Fetch: git fetch https://git.openjdk.org/valhalla pull/739/head:pull/739

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



More information about the valhalla-dev mailing list