hotspot/src/share/vm/prims/jvmtiRedefineClasses.hpp
changeset 15601 df8faef6efaf
parent 15591 b8aa0577f137
child 17077 8607f7c33310
equal deleted inserted replaced
15600:753e5733b5c9 15601:df8faef6efaf
   382   // the restrictions of RedefineClasses. Normalize the order of
   382   // the restrictions of RedefineClasses. Normalize the order of
   383   // overloaded methods as needed.
   383   // overloaded methods as needed.
   384   jvmtiError compare_and_normalize_class_versions(
   384   jvmtiError compare_and_normalize_class_versions(
   385     instanceKlassHandle the_class, instanceKlassHandle scratch_class);
   385     instanceKlassHandle the_class, instanceKlassHandle scratch_class);
   386 
   386 
   387   // Swap annotations[i] with annotations[j]
       
   388   // Used by compare_and_normalize_class_versions() when normalizing
       
   389   // overloaded methods or changing idnum as when adding or deleting methods.
       
   390   void swap_all_method_annotations(int i, int j, instanceKlassHandle scratch_class, TRAPS);
       
   391 
       
   392   // Figure out which new methods match old methods in name and signature,
   387   // Figure out which new methods match old methods in name and signature,
   393   // which methods have been added, and which are no longer present
   388   // which methods have been added, and which are no longer present
   394   void compute_added_deleted_matching_methods();
   389   void compute_added_deleted_matching_methods();
   395 
   390 
   396   // Change jmethodIDs to point to the new methods
   391   // Change jmethodIDs to point to the new methods
   414   static void adjust_array_vtable(Klass* k_oop);
   409   static void adjust_array_vtable(Klass* k_oop);
   415 
   410 
   416   // Install the redefinition of a class
   411   // Install the redefinition of a class
   417   void redefine_single_class(jclass the_jclass,
   412   void redefine_single_class(jclass the_jclass,
   418     Klass* scratch_class_oop, TRAPS);
   413     Klass* scratch_class_oop, TRAPS);
       
   414 
       
   415   void swap_annotations(instanceKlassHandle new_class,
       
   416                         instanceKlassHandle scratch_class);
   419 
   417 
   420   // Increment the classRedefinedCount field in the specific InstanceKlass
   418   // Increment the classRedefinedCount field in the specific InstanceKlass
   421   // and in all direct and indirect subclasses.
   419   // and in all direct and indirect subclasses.
   422   void increment_class_counter(InstanceKlass *ik, TRAPS);
   420   void increment_class_counter(InstanceKlass *ik, TRAPS);
   423 
   421