JDK-6939930 : exception unwind changes in 6919934 hurts compilation speed
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs18
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2010-03-31
  • Updated: 2023-10-03
  • Resolved: 2010-05-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u21pFixed 7Fixed hs18Fixed
Related Reports
Relates :  
Relates :  
Description
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.

Comments
EVALUATION 6939930: exception unwind changes in 6919934 hurts compilation speed Reviewed-by: twisti 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.
19-04-2010

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/9f5b60a14736
16-04-2010