Hi,

while further untangling the bootstrap of java.lang.invoke I found a number of trivial/minor/small contrivances, including:

- calling of private methods and constants in parent classes generates and heavily exercise synthetic bridge methods; carefully making more of these package-private cleans the air - use of MethodType.parameterList() and .subList() pull in extra classes in places I missed during JDK-8163370 analysis; preferring parameterType/parameterCount/Arrays.copyOf also reduces allocations - removed some pointless bookkeeping and duplicate checks of constant placeholders in InvokerBytecodeGenerator - since I was already changing around in StringConcatFactory I reworked some changes I made during JDK-8163370 that proved controversial

Webrev: http://cr.openjdk.java.net/~redestad/8163878/webrev.01/
Bug: https://bugs.openjdk.java.net/browse/JDK-8163878

All in all -45K executed bytecodes and 9 fewer loaded classes in my favored startup test.

Thanks!

/Claes

Reply via email to