On Fri, 20 Sep 2024 08:14:04 GMT, Per Minborg <pminb...@openjdk.org> wrote:
>> This PR suggests introducing an internal class in `java.base` to simplify >> the use of some `MethodHandles.Lookup` operations. >> >> While the utility of the methods might appear to be limited in classes with >> many static `VarHandle`/`MethodHandle` variables, it should be noted that >> the class files become smaller and simpler. Here are some examples: >> >> | Class File | Base [Bytes] | Patch >> [Byte] | >> | --------------------------------| ------------- | ------------ | >> | FutureTask.class | 10,255 | >> 10,123 | >> | AtomicBoolean.class | 5,364 | >> 5,134 | >> |AtomicMarkableReference.class | 3,890 | 3,660 | >> >>  >> >> The new `MethodHandlesInternal.class` file is of size 1,952 bytes. >> >> In total for `java.base` we have: >> >> | Build map "jdk" | Size [Bytes] | >> | ---------------| ------------- | >> | Base | 5,906,457 | >> | Patch | 5,905,487 | >> | Delta | 940| >> >> For 60 billion instances, this represents > 50 TB. >> >> Tried and passed tier1-3 > > Per Minborg has updated the pull request incrementally with one additional > commit since the last revision: > > Revert change Looks good. The current (MhUtil) source is easier to read. So unless ConstantBootstraps could have an equivalent (simple) API that evaluates to a DynamicConstant, keep what you have. ------------- Marked as reviewed by rriggs (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/20972#pullrequestreview-2318714294 PR Comment: https://git.openjdk.org/jdk/pull/20972#issuecomment-2364070043