-
Enhancement
-
Resolution: Fixed
-
P4
-
9
-
b18
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8319603 | 11.0.23-oracle | Ryan Wallace | P4 | Resolved | Fixed | b01 |
JDK-8322270 | 11.0.22.0.1-oracle | Dukebot | P4 | Resolved | Fixed | b01 |
JDK-8320045 | 11.0.21.0.2-oracle | Ryan Wallace | P4 | Closed | Fixed | b01 |
Packing the coder and length into a long allows us to generate fewer intermediary method handles for indified String concat expressions. Theoretically close to a third less for concatenation of non-constant-String, Object and char.
Care had to be taken to ensure the JITs are as good to optimize the resulting MH, and microbenchmarks show that C2 is as good to optimize the new code. Sometimes a few instructions better, sometimes a few instructions worse.
Attached benchmark and results show that when running in interpreted mode the patch is significantly faster (the overhead of calling more combiners and methods outweigh the extra cost of unpacking coder and length), while in C1 there is a similar slowdown.
Care had to be taken to ensure the JITs are as good to optimize the resulting MH, and microbenchmarks show that C2 is as good to optimize the new code. Sometimes a few instructions better, sometimes a few instructions worse.
Attached benchmark and results show that when running in interpreted mode the patch is significantly faster (the overhead of calling more combiners and methods outweigh the extra cost of unpacking coder and length), while in C1 there is a similar slowdown.
- backported by
-
JDK-8319603 Pack MethodHandleInlineStrategy coder and length into a long
-
- Resolved
-
-
JDK-8322270 Pack MethodHandleInlineStrategy coder and length into a long
-
- Resolved
-
-
JDK-8320045 Pack MethodHandleInlineStrategy coder and length into a long
-
- Closed
-
- relates to
-
JDK-8320406 StringConcat.java has duplicate methods added as part of changes done for JDK-8212726
-
- Resolved
-
-
JDK-8297530 java.lang.IllegalArgumentException: Negative length on strings concatenation
-
- Closed
-