Print this page
rev 6869 : 8057043: Type annotations not retained during class redefine / retransform
Reviewed-by: coleenp, sspitsyn, jfranck

Split Split Close
Expand all
Collapse all
          --- old/src/share/vm/prims/jvmtiRedefineClasses.hpp
          +++ new/src/share/vm/prims/jvmtiRedefineClasses.hpp
↓ open down ↓ 449 lines elided ↑ open up ↑
 450  450      const char * trace_mesg, TRAPS);
 451  451    bool rewrite_cp_refs(instanceKlassHandle scratch_class, TRAPS);
 452  452    bool rewrite_cp_refs_in_annotation_struct(
 453  453      AnnotationArray* class_annotations, int &byte_i_ref, TRAPS);
 454  454    bool rewrite_cp_refs_in_annotations_typeArray(
 455  455      AnnotationArray* annotations_typeArray, int &byte_i_ref, TRAPS);
 456  456    bool rewrite_cp_refs_in_class_annotations(
 457  457      instanceKlassHandle scratch_class, TRAPS);
 458  458    bool rewrite_cp_refs_in_element_value(
 459  459      AnnotationArray* class_annotations, int &byte_i_ref, TRAPS);
      460 +  bool rewrite_cp_refs_in_type_annotations_typeArray(
      461 +    AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
      462 +    const char * location_mesg, TRAPS);
      463 +  bool rewrite_cp_refs_in_type_annotation_struct(
      464 +    AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
      465 +    const char * location_mesg, TRAPS);
      466 +  bool skip_type_annotation_target(
      467 +    AnnotationArray* type_annotations_typeArray, int &byte_i_ref,
      468 +    const char * location_mesg, TRAPS);
      469 +  bool skip_type_annotation_type_path(
      470 +    AnnotationArray* type_annotations_typeArray, int &byte_i_ref, TRAPS);
 460  471    bool rewrite_cp_refs_in_fields_annotations(
 461  472      instanceKlassHandle scratch_class, TRAPS);
 462  473    void rewrite_cp_refs_in_method(methodHandle method,
 463  474      methodHandle * new_method_p, TRAPS);
 464  475    bool rewrite_cp_refs_in_methods(instanceKlassHandle scratch_class, TRAPS);
 465  476    bool rewrite_cp_refs_in_methods_annotations(
 466  477      instanceKlassHandle scratch_class, TRAPS);
 467  478    bool rewrite_cp_refs_in_methods_default_annotations(
 468  479      instanceKlassHandle scratch_class, TRAPS);
 469  480    bool rewrite_cp_refs_in_methods_parameter_annotations(
 470  481      instanceKlassHandle scratch_class, TRAPS);
      482 +  bool rewrite_cp_refs_in_class_type_annotations(
      483 +    instanceKlassHandle scratch_class, TRAPS);
      484 +  bool rewrite_cp_refs_in_fields_type_annotations(
      485 +    instanceKlassHandle scratch_class, TRAPS);
      486 +  bool rewrite_cp_refs_in_methods_type_annotations(
      487 +    instanceKlassHandle scratch_class, TRAPS);
 471  488    void rewrite_cp_refs_in_stack_map_table(methodHandle method, TRAPS);
 472  489    void rewrite_cp_refs_in_verification_type_info(
 473  490           address& stackmap_addr_ref, address stackmap_end, u2 frame_i,
 474  491           u1 frame_size, TRAPS);
 475  492    void set_new_constant_pool(ClassLoaderData* loader_data,
 476  493           instanceKlassHandle scratch_class,
 477  494           constantPoolHandle scratch_cp, int scratch_cp_length, TRAPS);
 478  495  
 479  496    void flush_dependent_code(instanceKlassHandle k_h, TRAPS);
 480  497  
↓ open down ↓ 45 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX