The changes to allow the frame to unwind itself as part of 6919934 caused every compile to have at least one exception handler. This resulted in roughly a 10% compile speed hit because of the extra work and allocation required by that. We should fix this either by backing it out or by finding a way to do the same thing without the extra overhead.
6939930: exception unwind changes in 6919934 hurts compilation speed
The fix 6919934 created a synthetic handler that was used to unwind
the frame during exception dispatch but the addition of this handler
slowed down compilation significantly. Additionally it increased the
size of the nmethod by about 15% because of the extra exception
handler entries. This change moves all the unwind logic down into the
assembler and adds a field in the nmethod which points at the unwind
handler. This removes both the speed and space penalty. The new
assembly unwind code is slightly tighter than what we used to emit. I
also simplified the unwind LIR op slightly and separated it out. It
also dispatches directly to the new unwind handler instead of
performing the unwind itself.