RFR(XXS): 8189244: x86: eliminate frame::adjust_unextended_sp() overhead
claes.redestad at oracle.com
Fri Oct 13 12:08:19 UTC 2017
you asked me to do a quick check if this helps Exception/stack walk
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
On 2017-10-12 21:46, dean.long at oracle.com wrote:
> 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%.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev