JDK-6621084 : ciMethodBlocks::split_block_at is broken for methods with exception handler
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2007-10-24
  • Updated: 2011-04-20
  • Resolved: 2011-04-20
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 Other
6u14Fixed hs12Fixed
Related Reports
Relates :  
Relates :  
Investigation EA failure in CTW I found
the the next function is incorrect for bytecode
with exceptions. It incorrectly splits an exception
handler block.

  // ciMethodBlocks::split_block_at
  // Split the block spanning bci into two separate ranges.  The former
  // block becomes the second half and a new range is created for the
  // first half.  Returns the range beginning at bci.
  ciBlock *ciMethodBlocks::split_block_at(int bci) {

SUGGESTED FIX Move an exception information from old block to new block and cleaning it in old handler block.

EVALUATION When handler block is split new block has exception handler BCI but does have exception information (start & end exception BCIs). The old block has exception information but it starts in an other BCI.