Move JavaClasses for filling in the stack trace in a new file to keep them 
together.  These classes are very sensitive to inlining which can affect 
performance of benchmarks that throw a lot of exceptions (like Dacapo pmd).

Also remove the work to save the Method name in the backtrace that was used for 
the case where redefinition could delete the method in the stack trace.  
RedefineClasses ability to add/delete methods has been deprecated for many 
releases, so adding code and memory for this case is wasting space and time.  
This change speeds up Throwable microbenchmarks by about 10-30%, and speeds up 
DaCapo pmd by a bit.

Tested with tier1-4.

Integration would be after the valhalla integration, since this will need to 
merge with that.  It's mostly changing objArrayOops to refArrayOops in the new 
javaStackTraceClasses.cpp file.

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - Remove unneeded TypeArray for Symbol*.
 - Remove Throwable and StackTrace classes from JavaClasses.

Changes: https://git.openjdk.org/jdk/pull/30863/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=30863&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8384600
  Stats: 3021 lines in 45 files changed: 1522 ins; 1477 del; 22 mod
  Patch: https://git.openjdk.org/jdk/pull/30863.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/30863/head:pull/30863

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

Reply via email to