1.1 --- a/src/share/vm/prims/jvmtiRedefineClasses.cpp Thu Jul 12 14:19:15 2012 -0700 1.2 +++ b/src/share/vm/prims/jvmtiRedefineClasses.cpp Fri Jul 13 20:14:27 2012 -0400 1.3 @@ -2478,23 +2478,17 @@ 1.4 // to use new constant pool indices as needed. The exception table 1.5 // holds quadruple entries of the form: 1.6 // (beg_bci, end_bci, handler_bci, klass_index) 1.7 - const int beg_bci_offset = 0; 1.8 - const int end_bci_offset = 1; 1.9 - const int handler_bci_offset = 2; 1.10 - const int klass_index_offset = 3; 1.11 - const int entry_size = 4; 1.12 - 1.13 - typeArrayHandle ex_table (THREAD, method->exception_table()); 1.14 - int ext_length = ex_table->length(); 1.15 - assert(ext_length % entry_size == 0, "exception table format has changed"); 1.16 - 1.17 - for (int j = 0; j < ext_length; j += entry_size) { 1.18 - int cur_index = ex_table->int_at(j + klass_index_offset); 1.19 + 1.20 + ExceptionTable ex_table(method()); 1.21 + int ext_length = ex_table.length(); 1.22 + 1.23 + for (int j = 0; j < ext_length; j ++) { 1.24 + int cur_index = ex_table.catch_type_index(j); 1.25 int new_index = find_new_index(cur_index); 1.26 if (new_index != 0) { 1.27 RC_TRACE_WITH_THREAD(0x00080000, THREAD, 1.28 ("ext-klass_index change: %d to %d", cur_index, new_index)); 1.29 - ex_table->int_at_put(j + klass_index_offset, new_index); 1.30 + ex_table.set_catch_type_index(j, new_index); 1.31 } 1.32 } // end for each exception table entry 1.33