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 :  
Description
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) {

Comments
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.
24-10-2007

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