src/share/vm/prims/jvmtiRedefineClasses.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8014013 Sdiff src/share/vm/prims

src/share/vm/prims/jvmtiRedefineClasses.cpp

Print this page




2892 
2893       // obsolete methods need a unique idnum
2894       u2 num = InstanceKlass::cast(_the_class_oop)->next_method_idnum();
2895       if (num != ConstMethod::UNSET_IDNUM) {
2896 //      u2 old_num = old_method->method_idnum();
2897         old_method->set_method_idnum(num);
2898 // TO DO: attach obsolete annotations to obsolete method's new idnum
2899       }
2900       // With tracing we try not to "yack" too much. The position of
2901       // this trace assumes there are fewer obsolete methods than
2902       // EMCP methods.
2903       RC_TRACE(0x00000100, ("mark %s(%s) as obsolete",
2904         old_method->name()->as_C_string(),
2905         old_method->signature()->as_C_string()));
2906     }
2907     old_method->set_is_old();
2908   }
2909   for (int i = 0; i < _deleted_methods_length; ++i) {
2910     Method* old_method = _deleted_methods[i];
2911 
2912     assert(old_method->vtable_index() < 0,
2913            "cannot delete methods with vtable entries");;
2914 
2915     // Mark all deleted methods as old and obsolete
2916     old_method->set_is_old();
2917     old_method->set_is_obsolete();
2918     ++obsolete_count;
2919     // With tracing we try not to "yack" too much. The position of
2920     // this trace assumes there are fewer obsolete methods than
2921     // EMCP methods.
2922     RC_TRACE(0x00000100, ("mark deleted %s(%s) as obsolete",
2923                           old_method->name()->as_C_string(),
2924                           old_method->signature()->as_C_string()));
2925   }
2926   assert((*emcp_method_count_p + obsolete_count) == _old_methods->length(),
2927     "sanity check");
2928   RC_TRACE(0x00000100, ("EMCP_cnt=%d, obsolete_cnt=%d", *emcp_method_count_p,
2929     obsolete_count));
2930 }
2931 
2932 // This internal class transfers the native function registration from old methods




2892 
2893       // obsolete methods need a unique idnum
2894       u2 num = InstanceKlass::cast(_the_class_oop)->next_method_idnum();
2895       if (num != ConstMethod::UNSET_IDNUM) {
2896 //      u2 old_num = old_method->method_idnum();
2897         old_method->set_method_idnum(num);
2898 // TO DO: attach obsolete annotations to obsolete method's new idnum
2899       }
2900       // With tracing we try not to "yack" too much. The position of
2901       // this trace assumes there are fewer obsolete methods than
2902       // EMCP methods.
2903       RC_TRACE(0x00000100, ("mark %s(%s) as obsolete",
2904         old_method->name()->as_C_string(),
2905         old_method->signature()->as_C_string()));
2906     }
2907     old_method->set_is_old();
2908   }
2909   for (int i = 0; i < _deleted_methods_length; ++i) {
2910     Method* old_method = _deleted_methods[i];
2911 
2912     assert(!old_method->has_vtable_index(),
2913            "cannot delete methods with vtable entries");;
2914 
2915     // Mark all deleted methods as old and obsolete
2916     old_method->set_is_old();
2917     old_method->set_is_obsolete();
2918     ++obsolete_count;
2919     // With tracing we try not to "yack" too much. The position of
2920     // this trace assumes there are fewer obsolete methods than
2921     // EMCP methods.
2922     RC_TRACE(0x00000100, ("mark deleted %s(%s) as obsolete",
2923                           old_method->name()->as_C_string(),
2924                           old_method->signature()->as_C_string()));
2925   }
2926   assert((*emcp_method_count_p + obsolete_count) == _old_methods->length(),
2927     "sanity check");
2928   RC_TRACE(0x00000100, ("EMCP_cnt=%d, obsolete_cnt=%d", *emcp_method_count_p,
2929     obsolete_count));
2930 }
2931 
2932 // This internal class transfers the native function registration from old methods


src/share/vm/prims/jvmtiRedefineClasses.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File