hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp
changeset 19537 7db00fe9bb8e
parent 19326 14cb6cf26a96
child 19960 49697a1e3782
child 20017 81eba62e9048
equal deleted inserted replaced
19534:b0611f290c80 19537:7db00fe9bb8e
  1552          THREAD)) {
  1552          THREAD)) {
  1553     // propagate failure back to caller
  1553     // propagate failure back to caller
  1554     return false;
  1554     return false;
  1555   }
  1555   }
  1556 
  1556 
  1557   // rewrite sourc file name index:
  1557   // rewrite source file name index:
  1558   u2 source_file_name_idx = scratch_class->source_file_name_index();
  1558   u2 source_file_name_idx = scratch_class->source_file_name_index();
  1559   if (source_file_name_idx != 0) {
  1559   if (source_file_name_idx != 0) {
  1560     u2 new_source_file_name_idx = find_new_index(source_file_name_idx);
  1560     u2 new_source_file_name_idx = find_new_index(source_file_name_idx);
  1561     scratch_class->set_source_file_name_index(new_source_file_name_idx);
  1561     if (new_source_file_name_idx != 0) {
       
  1562       scratch_class->set_source_file_name_index(new_source_file_name_idx);
       
  1563     }
  1562   }
  1564   }
  1563 
  1565 
  1564   // rewrite class generic signature index:
  1566   // rewrite class generic signature index:
  1565   u2 generic_signature_index = scratch_class->generic_signature_index();
  1567   u2 generic_signature_index = scratch_class->generic_signature_index();
  1566   if (generic_signature_index != 0) {
  1568   if (generic_signature_index != 0) {
  1567     u2 new_generic_signature_index = find_new_index(generic_signature_index);
  1569     u2 new_generic_signature_index = find_new_index(generic_signature_index);
  1568     scratch_class->set_generic_signature_index(new_generic_signature_index);
  1570     if (new_generic_signature_index != 0) {
       
  1571       scratch_class->set_generic_signature_index(new_generic_signature_index);
       
  1572     }
  1569   }
  1573   }
  1570 
  1574 
  1571   return true;
  1575   return true;
  1572 } // end rewrite_cp_refs()
  1576 } // end rewrite_cp_refs()
  1573 
  1577 
  1735     const int len = method->method_parameters_length();
  1739     const int len = method->method_parameters_length();
  1736     MethodParametersElement* elem = method->method_parameters_start();
  1740     MethodParametersElement* elem = method->method_parameters_start();
  1737 
  1741 
  1738     for (int i = 0; i < len; i++) {
  1742     for (int i = 0; i < len; i++) {
  1739       const u2 cp_index = elem[i].name_cp_index;
  1743       const u2 cp_index = elem[i].name_cp_index;
  1740       elem[i].name_cp_index = find_new_index(cp_index);
  1744       const u2 new_cp_index = find_new_index(cp_index);
       
  1745       if (new_cp_index != 0) {
       
  1746         elem[i].name_cp_index = new_cp_index;
       
  1747       }
  1741     }
  1748     }
  1742   }
  1749   }
  1743 } // end rewrite_cp_refs_in_method()
  1750 } // end rewrite_cp_refs_in_method()
  1744 
  1751 
  1745 
  1752