Mercurial > hg > graal-compiler
diff src/share/vm/oops/methodData.cpp @ 9762:57e5211846f9
Added class unloading support to the method profiling infrastructure.
author | Christian Haeubl <haeubl@ssw.jku.at> |
---|---|
date | Fri, 17 May 2013 17:24:03 +0200 |
parents | 89e4d67fdd2a |
children | 2461285a2f90 |
line wrap: on
line diff
--- a/src/share/vm/oops/methodData.cpp Fri May 17 15:40:06 2013 +0200 +++ b/src/share/vm/oops/methodData.cpp Fri May 17 17:24:03 2013 +0200 @@ -198,6 +198,18 @@ print_shared(st, "VirtualCallData"); print_receiver_data_on(st); } + +#ifdef GRAAL +void VirtualCallData::clean_weak_klass_links(BoolObjectClosure* is_alive_cl) { + ReceiverTypeData::clean_weak_klass_links(is_alive_cl); + for (uint row = 0; row < method_row_limit(); row++) { + Method* p = method(row); + if (p != NULL && !p->method_holder()->is_loader_alive(is_alive_cl)) { + clear_method_row(row); + } + } +} +#endif // GRAAL #endif // !PRODUCT // ==================================================================