Putting generated LambdaForm$MH and $DMH in non-class space seems to cause 
excess dependency checking for c2 compiled code and shows a performance 
regression in a new JMH performance test for MethodHandles (to be checked in at 
a later time).

When I made this abstract rather than final, I thought there were a many 
generated classes but I haven't found in testing more than a small percentage.  
For example, Dacapo xalan there are 43/1000 classes that are these generated 
classes.  In Eric's new JMH test, it was more like 51/681.  Special casing 
"AllStatic" classes to go in non-class metaspace is a bit too risky at this 
time.  If it does become a problem with limited class metaspace, we can create 
another attribute to use.

Tested with tier1-4 and the JMH test.  Thanks Eric Caspole for finding this and 
all the testing.

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

Commit messages:
 - 8341649: Regressions with large metaspace apps after 8338526

Changes: https://git.openjdk.org/jdk/pull/22493/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22493&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8341649
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/22493.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22493/head:pull/22493

PR: https://git.openjdk.org/jdk/pull/22493

Reply via email to