RFR (S) 8140685: Fix backtrace building to not rely on constant pool merging

Coleen Phillimore coleen.phillimore at oracle.com
Mon Jan 23 23:00:40 UTC 2017


Summary: Store Symbol* for the name in the backtrace

There was some thought that storing a u2 for cpref would be more memory 
efficient than storing Symbol* in the backtraces, but recent runs of 
Jetty show that this doesn't cause footprint increases or performance 
decreases.   Storing the Symbol* for the method name guarantees it is 
there when creating the StackTraceElement, whereas cpref relies on 
constant pool merging for redefinition and is dependent on being an 
index in the right constant pool, which has been a source of bugs in the 
past.

dev-submit performance testing was run with no regressions.  Also, all 
hotspot jtreg tests were run.

This is a change for JDK10 whenever that opens.

open webrev at http://cr.openjdk.java.net/~coleenp/8140685.01/webrev
bug link https://bugs.openjdk.java.net/browse/JDK-8140685

Thanks,
Coleen


More information about the hotspot-runtime-dev mailing list