This PR refactors SwitchBootstraps so that extra EnumDescs and classes are only 
passed into bootstraps when needed. Benchmarking shows that in many cases these 
are not needed, and avoiding passing them (via binding in the lists via 
`MethodHandle::insertArguments`) avoids some auxiliary MH combinator generation 
during bootstrap. 

Additional cleanups and refactoring further reduce bootstrap overhead and 
number of classes loaded.

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

Commit messages:
 - Logic fix, improve documentation
 - Improve comments, remove stray debug scaffolding
 - Avoid binding in lists of EnumDesc and extra classes in type switches when 
not needed

Changes: https://git.openjdk.org/jdk/pull/20693/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20693&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8338906
  Stats: 95 lines in 1 file changed: 44 ins; 10 del; 41 mod
  Patch: https://git.openjdk.org/jdk/pull/20693.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20693/head:pull/20693

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

Reply via email to