# HG changeset patch # User kvn # Date 1237576674 25200 # Node ID c9ede57210d924c36c32c05ea66b3bb9a8efd27f # Parent 399d770899eb42032ccc0eaa8fcacacc5ac51564 6772368: REGRESSION:tomcat crashed twice with JDK 7 Summary: Call make_block_at() with the original handler limits. Reviewed-by: never diff -r 399d770899eb -r c9ede57210d9 src/share/vm/ci/ciMethodBlocks.cpp --- a/src/share/vm/ci/ciMethodBlocks.cpp Fri Mar 20 10:19:52 2009 -0700 +++ b/src/share/vm/ci/ciMethodBlocks.cpp Fri Mar 20 12:17:54 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); } }