hotspot/src/share/vm/prims/jvmtiRedefineClasses.hpp
changeset 17077 8607f7c33310
parent 15601 df8faef6efaf
child 17373 7d8bb2a8787e
equal deleted inserted replaced
17076:cf842e58f030 17077:8607f7c33310
   357 
   357 
   358   // _index_map_count is just an optimization for knowing if
   358   // _index_map_count is just an optimization for knowing if
   359   // _index_map_p contains any entries.
   359   // _index_map_p contains any entries.
   360   int                         _index_map_count;
   360   int                         _index_map_count;
   361   intArray *                  _index_map_p;
   361   intArray *                  _index_map_p;
       
   362 
       
   363   // _operands_index_map_count is just an optimization for knowing if
       
   364   // _operands_index_map_p contains any entries.
       
   365   int                         _operands_cur_length;
       
   366   int                         _operands_index_map_count;
       
   367   intArray *                  _operands_index_map_p;
       
   368 
   362   // ptr to _class_count scratch_classes
   369   // ptr to _class_count scratch_classes
   363   Klass**                   _scratch_classes;
   370   Klass**                     _scratch_classes;
   364   jvmtiError                  _res;
   371   jvmtiError                  _res;
   365 
   372 
   366   // Performance measurement support. These timers do not cover all
   373   // Performance measurement support. These timers do not cover all
   367   // the work done for JVM/TI RedefineClasses() but they do cover
   374   // the work done for JVM/TI RedefineClasses() but they do cover
   368   // the heavy lifting.
   375   // the heavy lifting.
   420   void increment_class_counter(InstanceKlass *ik, TRAPS);
   427   void increment_class_counter(InstanceKlass *ik, TRAPS);
   421 
   428 
   422   // Support for constant pool merging (these routines are in alpha order):
   429   // Support for constant pool merging (these routines are in alpha order):
   423   void append_entry(constantPoolHandle scratch_cp, int scratch_i,
   430   void append_entry(constantPoolHandle scratch_cp, int scratch_i,
   424     constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
   431     constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
       
   432   void append_operand(constantPoolHandle scratch_cp, int scratch_bootstrap_spec_index,
       
   433     constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
       
   434   void finalize_operands_merge(constantPoolHandle merge_cp, TRAPS);
   425   int find_or_append_indirect_entry(constantPoolHandle scratch_cp, int scratch_i,
   435   int find_or_append_indirect_entry(constantPoolHandle scratch_cp, int scratch_i,
   426     constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
   436     constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
       
   437   int find_or_append_operand(constantPoolHandle scratch_cp, int scratch_bootstrap_spec_index,
       
   438     constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
   427   int find_new_index(int old_index);
   439   int find_new_index(int old_index);
       
   440   int find_new_operand_index(int old_bootstrap_spec_index);
   428   bool is_unresolved_class_mismatch(constantPoolHandle cp1, int index1,
   441   bool is_unresolved_class_mismatch(constantPoolHandle cp1, int index1,
   429     constantPoolHandle cp2, int index2);
   442     constantPoolHandle cp2, int index2);
   430   void map_index(constantPoolHandle scratch_cp, int old_index, int new_index);
   443   void map_index(constantPoolHandle scratch_cp, int old_index, int new_index);
       
   444   void map_operand_index(int old_bootstrap_spec_index, int new_bootstrap_spec_index);
   431   bool merge_constant_pools(constantPoolHandle old_cp,
   445   bool merge_constant_pools(constantPoolHandle old_cp,
   432     constantPoolHandle scratch_cp, constantPoolHandle *merge_cp_p,
   446     constantPoolHandle scratch_cp, constantPoolHandle *merge_cp_p,
   433     int *merge_cp_length_p, TRAPS);
   447     int *merge_cp_length_p, TRAPS);
   434   jvmtiError merge_cp_and_rewrite(instanceKlassHandle the_class,
   448   jvmtiError merge_cp_and_rewrite(instanceKlassHandle the_class,
   435     instanceKlassHandle scratch_class, TRAPS);
   449     instanceKlassHandle scratch_class, TRAPS);