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);
|