src/share/vm/prims/jvmtiRedefineClasses.hpp

changeset 4983
15a99ca4ee34
parent 4572
927a311d00f9
child 5100
43083e670adf
     1.1 --- a/src/share/vm/prims/jvmtiRedefineClasses.hpp	Wed Apr 24 15:57:17 2013 -0700
     1.2 +++ b/src/share/vm/prims/jvmtiRedefineClasses.hpp	Thu Apr 25 03:58:53 2013 -0700
     1.3 @@ -359,8 +359,15 @@
     1.4    // _index_map_p contains any entries.
     1.5    int                         _index_map_count;
     1.6    intArray *                  _index_map_p;
     1.7 +
     1.8 +  // _operands_index_map_count is just an optimization for knowing if
     1.9 +  // _operands_index_map_p contains any entries.
    1.10 +  int                         _operands_cur_length;
    1.11 +  int                         _operands_index_map_count;
    1.12 +  intArray *                  _operands_index_map_p;
    1.13 +
    1.14    // ptr to _class_count scratch_classes
    1.15 -  Klass**                   _scratch_classes;
    1.16 +  Klass**                     _scratch_classes;
    1.17    jvmtiError                  _res;
    1.18  
    1.19    // Performance measurement support. These timers do not cover all
    1.20 @@ -422,12 +429,19 @@
    1.21    // Support for constant pool merging (these routines are in alpha order):
    1.22    void append_entry(constantPoolHandle scratch_cp, int scratch_i,
    1.23      constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
    1.24 +  void append_operand(constantPoolHandle scratch_cp, int scratch_bootstrap_spec_index,
    1.25 +    constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
    1.26 +  void finalize_operands_merge(constantPoolHandle merge_cp, TRAPS);
    1.27    int find_or_append_indirect_entry(constantPoolHandle scratch_cp, int scratch_i,
    1.28      constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
    1.29 +  int find_or_append_operand(constantPoolHandle scratch_cp, int scratch_bootstrap_spec_index,
    1.30 +    constantPoolHandle *merge_cp_p, int *merge_cp_length_p, TRAPS);
    1.31    int find_new_index(int old_index);
    1.32 +  int find_new_operand_index(int old_bootstrap_spec_index);
    1.33    bool is_unresolved_class_mismatch(constantPoolHandle cp1, int index1,
    1.34      constantPoolHandle cp2, int index2);
    1.35    void map_index(constantPoolHandle scratch_cp, int old_index, int new_index);
    1.36 +  void map_operand_index(int old_bootstrap_spec_index, int new_bootstrap_spec_index);
    1.37    bool merge_constant_pools(constantPoolHandle old_cp,
    1.38      constantPoolHandle scratch_cp, constantPoolHandle *merge_cp_p,
    1.39      int *merge_cp_length_p, TRAPS);

mercurial