< prev index next >

src/hotspot/share/prims/jvmtiRedefineClasses.hpp

Print this page

460   bool rewrite_cp_refs_in_annotations_typeArray(
461     AnnotationArray* annotations_typeArray, int &byte_i_ref);
462   bool rewrite_cp_refs_in_class_annotations(InstanceKlass* scratch_class);
463   bool rewrite_cp_refs_in_element_value(
464     AnnotationArray* class_annotations, int &byte_i_ref);
465   bool rewrite_cp_refs_in_type_annotations_typeArray(
466     AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
467     const char * location_mesg);
468   bool rewrite_cp_refs_in_type_annotation_struct(
469     AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
470     const char * location_mesg);
471   bool skip_type_annotation_target(
472     AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
473     const char * location_mesg);
474   bool skip_type_annotation_type_path(
475     AnnotationArray* type_annotations_typeArray, int &byte_i_ref);
476   bool rewrite_cp_refs_in_fields_annotations(InstanceKlass* scratch_class);
477   bool rewrite_cp_refs_in_nest_attributes(InstanceKlass* scratch_class);
478   bool rewrite_cp_refs_in_record_attribute(InstanceKlass* scratch_class);
479   bool rewrite_cp_refs_in_permitted_subclasses_attribute(InstanceKlass* scratch_class);

480 
481   void rewrite_cp_refs_in_method(methodHandle method,
482     methodHandle * new_method_p, TRAPS);
483   bool rewrite_cp_refs_in_methods(InstanceKlass* scratch_class);
484 
485   bool rewrite_cp_refs_in_methods_annotations(InstanceKlass* scratch_class);
486   bool rewrite_cp_refs_in_methods_default_annotations(InstanceKlass* scratch_class);
487   bool rewrite_cp_refs_in_methods_parameter_annotations(InstanceKlass* scratch_class);
488   bool rewrite_cp_refs_in_class_type_annotations(InstanceKlass* scratch_class);
489   bool rewrite_cp_refs_in_fields_type_annotations(InstanceKlass* scratch_class);
490   bool rewrite_cp_refs_in_methods_type_annotations(InstanceKlass* scratch_class);
491 
492   void rewrite_cp_refs_in_stack_map_table(const methodHandle& method);
493   void rewrite_cp_refs_in_verification_type_info(
494          address& stackmap_addr_ref, address stackmap_end, u2 frame_i,
495          u1 frame_size);




496   void set_new_constant_pool(ClassLoaderData* loader_data,
497          InstanceKlass* scratch_class,
498          constantPoolHandle scratch_cp, int scratch_cp_length, TRAPS);
499 
500   void flush_dependent_code();
501 
502   // lock classes to redefine since constant pool merging isn't thread safe.
503   void lock_classes();
504   void unlock_classes();
505 
506   u8 next_id();
507 
508   static void dump_methods();
509 
510   // Check that there are no old or obsolete methods
511   class CheckClass : public KlassClosure {
512     Thread* _thread;
513    public:
514     CheckClass(Thread* t) : _thread(t) {}
515     void do_klass(Klass* k);

460   bool rewrite_cp_refs_in_annotations_typeArray(
461     AnnotationArray* annotations_typeArray, int &byte_i_ref);
462   bool rewrite_cp_refs_in_class_annotations(InstanceKlass* scratch_class);
463   bool rewrite_cp_refs_in_element_value(
464     AnnotationArray* class_annotations, int &byte_i_ref);
465   bool rewrite_cp_refs_in_type_annotations_typeArray(
466     AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
467     const char * location_mesg);
468   bool rewrite_cp_refs_in_type_annotation_struct(
469     AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
470     const char * location_mesg);
471   bool skip_type_annotation_target(
472     AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
473     const char * location_mesg);
474   bool skip_type_annotation_type_path(
475     AnnotationArray* type_annotations_typeArray, int &byte_i_ref);
476   bool rewrite_cp_refs_in_fields_annotations(InstanceKlass* scratch_class);
477   bool rewrite_cp_refs_in_nest_attributes(InstanceKlass* scratch_class);
478   bool rewrite_cp_refs_in_record_attribute(InstanceKlass* scratch_class);
479   bool rewrite_cp_refs_in_permitted_subclasses_attribute(InstanceKlass* scratch_class);
480   bool rewrite_cp_refs_in_loadable_descriptors_attribute(InstanceKlass* scratch_class);
481 
482   void rewrite_cp_refs_in_method(methodHandle method,
483     methodHandle * new_method_p, TRAPS);
484   bool rewrite_cp_refs_in_methods(InstanceKlass* scratch_class);
485 
486   bool rewrite_cp_refs_in_methods_annotations(InstanceKlass* scratch_class);
487   bool rewrite_cp_refs_in_methods_default_annotations(InstanceKlass* scratch_class);
488   bool rewrite_cp_refs_in_methods_parameter_annotations(InstanceKlass* scratch_class);
489   bool rewrite_cp_refs_in_class_type_annotations(InstanceKlass* scratch_class);
490   bool rewrite_cp_refs_in_fields_type_annotations(InstanceKlass* scratch_class);
491   bool rewrite_cp_refs_in_methods_type_annotations(InstanceKlass* scratch_class);
492 
493   void rewrite_cp_refs_in_stack_map_table(const methodHandle& method);
494   void rewrite_cp_refs_in_verification_type_info(
495          address& stackmap_addr_ref, address stackmap_end, u2 frame_i,
496          u1 frame_size);
497   void rewrite_cp_refs_in_early_larval_stackmaps(
498          address& stackmap_p_ref, address stackmap_end, u2 frame_i,
499          u1 frame_type);
500 
501   void set_new_constant_pool(ClassLoaderData* loader_data,
502          InstanceKlass* scratch_class,
503          constantPoolHandle scratch_cp, int scratch_cp_length, TRAPS);
504 
505   void flush_dependent_code();
506 
507   // lock classes to redefine since constant pool merging isn't thread safe.
508   void lock_classes();
509   void unlock_classes();
510 
511   u8 next_id();
512 
513   static void dump_methods();
514 
515   // Check that there are no old or obsolete methods
516   class CheckClass : public KlassClosure {
517     Thread* _thread;
518    public:
519     CheckClass(Thread* t) : _thread(t) {}
520     void do_klass(Klass* k);
< prev index next >