hotspot/src/share/vm/oops/methodOop.cpp
changeset 13285 5c78ade8d6a3
parent 13282 9872915dd78d
child 13391 30245956af37
--- a/hotspot/src/share/vm/oops/methodOop.cpp	Thu Jul 05 18:47:41 2012 -0400
+++ b/hotspot/src/share/vm/oops/methodOop.cpp	Thu Jul 05 20:54:45 2012 -0400
@@ -1082,6 +1082,7 @@
   newm->set_method_size(new_method_size);
   assert(newm->code_size() == new_code_length, "check");
   assert(newm->checked_exceptions_length() == checked_exceptions_len, "check");
+  assert(newm->exception_table_length() == exception_table_len, "check");
   assert(newm->localvariable_table_length() == localvariable_len, "check");
   // Copy new byte codes
   memcpy(newm->code_base(), new_code, new_code_length);
@@ -1097,6 +1098,12 @@
            m->checked_exceptions_start(),
            checked_exceptions_len * sizeof(CheckedExceptionElement));
   }
+  // Copy exception table
+  if (exception_table_len > 0) {
+    memcpy(newm->exception_table_start(),
+           m->exception_table_start(),
+           exception_table_len * sizeof(ExceptionTableElement));
+  }
   // Copy local variable number table
   if (localvariable_len > 0) {
     memcpy(newm->localvariable_table_start(),