RFR(XXS): 8189244: x86: eliminate frame::adjust_unextended_sp() overhead
Claes Redestad
claes.redestad at oracle.com
Fri Oct 13 12:08:19 UTC 2017
Hi Dean,
you asked me to do a quick check if this helps Exception/stack walk
performance:
Benchmark Mode Cnt Score Error Units
Throw.throwSyncException thrpt 100 0.803 ± 0.029 ops/us
Throw.throwSyncException thrpt 100 0.867 ± 0.028 ops/us # 8%
... thus a significant improvement!
Startup is improved on some measures (total #instructions down 500k,
significant) but not enough to be statistically significant on wall clock
measures.
/Claes
On 2017-10-12 21:46, dean.long at oracle.com wrote:
>
> https://bugs.openjdk.java.net/browse/JDK-8189244
>
> http://cr.openjdk.java.net/~dlong/8189244/webrev
>
> The work that frame::adjust_unextended_sp() does is DEBUG_ONLY, but
> the compiler cannot completely eliminate the code because of the
> virtual call to is_compiled() that could have side-effects. We can fix
> the problem by wrapping the whole thing in #ifdef ASSERT.
>
> This change reduces the size of libjvm.so by almost 2K, and the size
> of frame::sender() by 8%.
>
> dl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20171013/43457ca7/attachment.html>
More information about the hotspot-compiler-dev
mailing list