From duke at openjdk.org Sat Oct 26 08:24:16 2024 From: duke at openjdk.org (duke) Date: Sat, 26 Oct 2024 08:24:16 GMT Subject: Withdrawn: 7903806: Enhance jasm/jdis to support value classes and objects In-Reply-To: References: Message-ID: On Sat, 31 Aug 2024 00:32:40 GMT, Dan Smith wrote: > Some changes to align Valhalla support in asmtools with the latest design for JEP 401. > > Latest JVM specification can be found here: https://cr.openjdk.org/~dlsmith/jep401/jep401-20240624/specs/value-objects-jvms.html > > I originally made these changes on a custom copy of asmtools, so this was mostly a matter of reviewing my original patch and making updates. There have been some changes, though, and it's quite possible I've missed something. > > Some things to be aware of: > > - There are no longer any new opcodes or any changes to special methods (like ``) > - The ACC_IDENTITY flag, which replaces ACC_VALUE, is aliased with ACC_SUPER?this will create some awkwardness until the feature is final. In the mean time, I've had jdis just print `super`; I imagine someone more experienced with this code might find a clean way to print the right thing based on the version number > - That said, I'm not sure what version number these features will be associated with?spec currently says 67.65535 (i.e., Java 23), but obviously that's going to change > - The Preload attribute, which contained a list of CONSTANT_Classes, has been replaced with LoadableDescriptors, which contains a list of Utf8 descriptor strings > - ACC_PERMITTED_SUBCLASSES and ACC_PRIMITIVE have been abandoned, can be deleted > - The ACC_STRICT flag is now allowed on fields; the spec has some constraints on its use (e.g., the field must be final), but I didn't include those checks, because we have plans to expand the feature to other kinds of fields > - I got this to compile, but I haven't tested anything. Not sure how to run the local tests; I'll do some targeted testing just to make sure the changes basically work. This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.org/asmtools/pull/73