RFR (S) 8140685: Fix backtrace building to not rely on constant pool merging
George Triantafillou
george.triantafillou at oracle.com
Mon Jan 23 23:53:59 UTC 2017
Hi Coleen,
src/share/vm/classfile/javaClasses.cpp, change line 1694 to:
// Note: this doesn't leak symbols because the mirror in the backtrace
keeps the
-George
On 1/23/2017 6:00 PM, Coleen Phillimore wrote:
> 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