changeset 523:c9ede57210d9

6772368: REGRESSION:tomcat crashed twice with JDK 7 Summary: Call make_block_at() with the original handler limits. Reviewed-by: never
author kvn
date Fri, 20 Mar 2009 12:17:54 -0700
parents 399d770899eb
children 9a8067301753 b36996d65c38 2f91f071f4dd
files src/share/vm/ci/ciMethodBlocks.cpp
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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);
     }
   }