# HG changeset patch # User kvn # Date 1237407902 25200 # Node ID 020bda12ecd4db2d78cf8227b41f1ff8099d56ae # Parent d8e6e11e7f3289bbdf09fc55ecc2aff426850731 6772368: REGRESSION:tomcat crashed twice with JDK 7 Summary: Call make_block_at() with the original handler limits. Reviewed-by: never diff -r d8e6e11e7f32 -r 020bda12ecd4 hotspot/src/share/vm/ci/ciMethodBlocks.cpp --- a/hotspot/src/share/vm/ci/ciMethodBlocks.cpp Mon Mar 16 15:06:33 2009 -0700 +++ b/hotspot/src/share/vm/ci/ciMethodBlocks.cpp Wed Mar 18 13:25:02 2009 -0700 @@ -284,6 +284,11 @@ // int ex_start = handler->start(); int ex_end = handler->limit(); + // ensure a block at the start of exception range and start of following code + (void) make_block_at(ex_start); + if (ex_end < _code_size) + (void) make_block_at(ex_end); + if (eb->is_handler()) { // Extend old handler exception range to cover additional range. int old_ex_start = eb->ex_start_bci(); @@ -295,10 +300,6 @@ eb->clear_exception_handler(); // Reset exception information } eb->set_exception_range(ex_start, ex_end); - // ensure a block at the start of exception range and start of following code - (void) make_block_at(ex_start); - if (ex_end < _code_size) - (void) make_block_at(ex_end); } }