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
|