1 /* |
1 /* |
2 * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
3573 Method* old_method = _deleted_methods[i]; |
3573 Method* old_method = _deleted_methods[i]; |
3574 |
3574 |
3575 assert(!old_method->has_vtable_index(), |
3575 assert(!old_method->has_vtable_index(), |
3576 "cannot delete methods with vtable entries");; |
3576 "cannot delete methods with vtable entries");; |
3577 |
3577 |
3578 // Mark all deleted methods as old and obsolete |
3578 // Mark all deleted methods as old, obsolete and deleted |
|
3579 old_method->set_is_deleted(); |
3579 old_method->set_is_old(); |
3580 old_method->set_is_old(); |
3580 old_method->set_is_obsolete(); |
3581 old_method->set_is_obsolete(); |
3581 ++obsolete_count; |
3582 ++obsolete_count; |
3582 // With tracing we try not to "yack" too much. The position of |
3583 // With tracing we try not to "yack" too much. The position of |
3583 // this trace assumes there are fewer obsolete methods than |
3584 // this trace assumes there are fewer obsolete methods than |
4162 ik->itable()->dump_itable(); |
4163 ik->itable()->dump_itable(); |
4163 } |
4164 } |
4164 no_old_methods = false; |
4165 no_old_methods = false; |
4165 } |
4166 } |
4166 |
4167 |
4167 // the constant pool cache should never contain old or obsolete methods |
4168 // the constant pool cache should never contain non-deleted old or obsolete methods |
4168 if (ik->constants() != NULL && |
4169 if (ik->constants() != NULL && |
4169 ik->constants()->cache() != NULL && |
4170 ik->constants()->cache() != NULL && |
4170 !ik->constants()->cache()->check_no_old_or_obsolete_entries()) { |
4171 !ik->constants()->cache()->check_no_old_or_obsolete_entries()) { |
4171 if (RC_TRACE_ENABLED(0x00004000)) { |
4172 if (RC_TRACE_ENABLED(0x00004000)) { |
4172 RC_TRACE_WITH_THREAD(0x00004000, _thread, |
4173 RC_TRACE_WITH_THREAD(0x00004000, _thread, |