@@ -966,6 +966,8 @@ bool klassVtable::adjust_default_method(int vtable_index, Method* old_method, Me
966
966
// search the vtable for uses of either obsolete or EMCP methods
967
967
void klassVtable::adjust_method_entries (bool * trace_name_printed) {
968
968
int prn_enabled = 0 ;
969
+ ResourceMark rm;
970
+
969
971
for (int index = 0 ; index < length (); index++) {
970
972
Method* old_method = unchecked_method_at (index);
971
973
if (old_method == NULL || !old_method->is_old ()) {
@@ -983,27 +985,29 @@ void klassVtable::adjust_method_entries(bool * trace_name_printed) {
983
985
updated_default = adjust_default_method (index, old_method, new_method);
984
986
}
985
987
986
- if (log_is_enabled (Info, redefine, class , update)) {
987
- ResourceMark rm;
988
- if (!(*trace_name_printed)) {
989
- log_info (redefine, class , update)
990
- (" adjust: klassname=%s for methods from name=%s" ,
991
- _klass->external_name (), old_method->method_holder ()->external_name ());
992
- *trace_name_printed = true ;
993
- }
994
- log_debug (redefine, class , update, vtables)
995
- (" vtable method update: %s(%s), updated default = %s" ,
996
- new_method->name ()->as_C_string (), new_method->signature ()->as_C_string (), updated_default ? " true" : " false" );
988
+ if (!(*trace_name_printed)) {
989
+ log_info (redefine, class , update)
990
+ (" adjust: klassname=%s for methods from name=%s" ,
991
+ _klass->external_name (), old_method->method_holder ()->external_name ());
992
+ *trace_name_printed = true ;
997
993
}
994
+ log_trace (redefine, class , update, vtables)
995
+ (" vtable method update: class: %s method: %s, updated default = %s" ,
996
+ _klass->external_name (), new_method->external_name (), updated_default ? " true" : " false" );
998
997
}
999
998
}
1000
999
1001
1000
// a vtable should never contain old or obsolete methods
1002
1001
bool klassVtable::check_no_old_or_obsolete_entries () {
1002
+ ResourceMark rm;
1003
+
1003
1004
for (int i = 0 ; i < length (); i++) {
1004
1005
Method* m = unchecked_method_at (i);
1005
1006
if (m != NULL &&
1006
1007
(NOT_PRODUCT (!m->is_valid () ||) m->is_old () || m->is_obsolete ())) {
1008
+ log_trace (redefine, class , update, vtables)
1009
+ (" vtable check found old method entry: class: %s old: %d obsolete: %d, method: %s" ,
1010
+ _klass->external_name (), m->is_old (), m->is_obsolete (), m->external_name ());
1007
1011
return false ;
1008
1012
}
1009
1013
}
@@ -1292,8 +1296,9 @@ void klassItable::initialize_itable_for_interface(int method_table_offset, Klass
1292
1296
#if INCLUDE_JVMTI
1293
1297
// search the itable for uses of either obsolete or EMCP methods
1294
1298
void klassItable::adjust_method_entries (bool * trace_name_printed) {
1295
-
1299
+ ResourceMark rm;
1296
1300
itableMethodEntry* ime = method_entry (0 );
1301
+
1297
1302
for (int i = 0 ; i < _size_method_table; i++, ime++) {
1298
1303
Method* old_method = ime->method ();
1299
1304
if (old_method == NULL || !old_method->is_old ()) {
@@ -1303,25 +1308,27 @@ void klassItable::adjust_method_entries(bool * trace_name_printed) {
1303
1308
Method* new_method = old_method->get_new_method ();
1304
1309
ime->initialize (new_method);
1305
1310
1306
- if (log_is_enabled (Info, redefine, class , update)) {
1307
- ResourceMark rm;
1308
- if (!(*trace_name_printed)) {
1309
- log_info (redefine, class , update)(" adjust: name=%s" , old_method->method_holder ()->external_name ());
1310
- *trace_name_printed = true ;
1311
- }
1312
- log_trace (redefine, class , update, itables)
1313
- (" itable method update: %s(%s)" , new_method->name ()->as_C_string (), new_method->signature ()->as_C_string ());
1311
+ if (!(*trace_name_printed)) {
1312
+ log_info (redefine, class , update)(" adjust: name=%s" , old_method->method_holder ()->external_name ());
1313
+ *trace_name_printed = true ;
1314
1314
}
1315
+ log_trace (redefine, class , update, itables)
1316
+ (" itable method update: class: %s method: %s" , _klass->external_name (), new_method->external_name ());
1315
1317
}
1316
1318
}
1317
1319
1318
1320
// an itable should never contain old or obsolete methods
1319
1321
bool klassItable::check_no_old_or_obsolete_entries () {
1322
+ ResourceMark rm;
1320
1323
itableMethodEntry* ime = method_entry (0 );
1324
+
1321
1325
for (int i = 0 ; i < _size_method_table; i++) {
1322
1326
Method* m = ime->method ();
1323
1327
if (m != NULL &&
1324
1328
(NOT_PRODUCT (!m->is_valid () ||) m->is_old () || m->is_obsolete ())) {
1329
+ log_trace (redefine, class , update, itables)
1330
+ (" itable check found old method entry: class: %s old: %d obsolete: %d, method: %s" ,
1331
+ _klass->external_name (), m->is_old (), m->is_obsolete (), m->external_name ());
1325
1332
return false ;
1326
1333
}
1327
1334
ime++;
0 commit comments