In the Throwable::printStackTrace method, StringBuilder is created multiple 
times to build String. By sharing StringBuilder to build String, object 
allocation and copying are reduced.

In the scenario without suppressed and ourCause, unused IdentityHashMap is not 
created.

Through these optimizations, the performance of `new 
Exception().printStackTrace()` can be improved by about 10%.

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

Commit messages:
 - lineBuffer, from @liach
 - bug fix
 - bug fix
 - from @liach
 - Update src/java.base/share/classes/java/lang/Throwable.java
 - from @liach
 - Remove redundant toString
 - from @liach
 - from @liach
 - from @liach
 - ... and 2 more: https://git.openjdk.org/jdk/compare/82c24944...a68c6932

Changes: https://git.openjdk.org/jdk/pull/24864/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24864&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8355636
  Stats: 252 lines in 3 files changed: 223 ins; 8 del; 21 mod
  Patch: https://git.openjdk.org/jdk/pull/24864.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24864/head:pull/24864

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

Reply via email to