< prev index next >

src/hotspot/share/prims/jvmtiRedefineClasses.hpp

Print this page




 390 
 391   // These routines are roughly in call order unless otherwise noted.
 392 
 393   // Load the caller's new class definition(s) into _scratch_classes.
 394   // Constant pool merging work is done here as needed. Also calls
 395   // compare_and_normalize_class_versions() to verify the class
 396   // definition(s).
 397   jvmtiError load_new_class_versions(TRAPS);
 398 
 399   // Verify that the caller provided class definition(s) that meet
 400   // the restrictions of RedefineClasses. Normalize the order of
 401   // overloaded methods as needed.
 402   jvmtiError compare_and_normalize_class_versions(
 403     InstanceKlass* the_class, InstanceKlass* scratch_class);
 404 
 405   // Figure out which new methods match old methods in name and signature,
 406   // which methods have been added, and which are no longer present
 407   void compute_added_deleted_matching_methods();
 408 
 409   // Change jmethodIDs to point to the new methods
 410   void update_jmethod_ids();
 411 
 412   // In addition to marking methods as old and/or obsolete, this routine
 413   // counts the number of methods that are EMCP (Equivalent Module Constant Pool).
 414   int check_methods_and_mark_as_obsolete();
 415   void transfer_old_native_function_registrations(InstanceKlass* the_class);
 416 
 417   // Install the redefinition of a class
 418   void redefine_single_class(jclass the_jclass,
 419     InstanceKlass* scratch_class_oop, TRAPS);
 420 
 421   void swap_annotations(InstanceKlass* new_class,
 422                         InstanceKlass* scratch_class);
 423 
 424   // Increment the classRedefinedCount field in the specific InstanceKlass
 425   // and in all direct and indirect subclasses.
 426   void increment_class_counter(InstanceKlass *ik, TRAPS);
 427 
 428   // Support for constant pool merging (these routines are in alpha order):
 429   void append_entry(const constantPoolHandle& scratch_cp, int scratch_i,
 430     constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);




 390 
 391   // These routines are roughly in call order unless otherwise noted.
 392 
 393   // Load the caller's new class definition(s) into _scratch_classes.
 394   // Constant pool merging work is done here as needed. Also calls
 395   // compare_and_normalize_class_versions() to verify the class
 396   // definition(s).
 397   jvmtiError load_new_class_versions(TRAPS);
 398 
 399   // Verify that the caller provided class definition(s) that meet
 400   // the restrictions of RedefineClasses. Normalize the order of
 401   // overloaded methods as needed.
 402   jvmtiError compare_and_normalize_class_versions(
 403     InstanceKlass* the_class, InstanceKlass* scratch_class);
 404 
 405   // Figure out which new methods match old methods in name and signature,
 406   // which methods have been added, and which are no longer present
 407   void compute_added_deleted_matching_methods();
 408 
 409   // Change jmethodIDs to point to the new methods
 410   void update_jmethod_ids(Thread* thread);
 411 
 412   // In addition to marking methods as old and/or obsolete, this routine
 413   // counts the number of methods that are EMCP (Equivalent Module Constant Pool).
 414   int check_methods_and_mark_as_obsolete();
 415   void transfer_old_native_function_registrations(InstanceKlass* the_class);
 416 
 417   // Install the redefinition of a class
 418   void redefine_single_class(jclass the_jclass,
 419     InstanceKlass* scratch_class_oop, TRAPS);
 420 
 421   void swap_annotations(InstanceKlass* new_class,
 422                         InstanceKlass* scratch_class);
 423 
 424   // Increment the classRedefinedCount field in the specific InstanceKlass
 425   // and in all direct and indirect subclasses.
 426   void increment_class_counter(InstanceKlass *ik, TRAPS);
 427 
 428   // Support for constant pool merging (these routines are in alpha order):
 429   void append_entry(const constantPoolHandle& scratch_cp, int scratch_i,
 430     constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);


< prev index next >