equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2005, 2017, 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. |
2118 |
2118 |
2119 { |
2119 { |
2120 GCTraceTime(Debug, gc, phases) tm_m("Class Unloading", &_gc_timer); |
2120 GCTraceTime(Debug, gc, phases) tm_m("Class Unloading", &_gc_timer); |
2121 |
2121 |
2122 // Follow system dictionary roots and unload classes. |
2122 // Follow system dictionary roots and unload classes. |
2123 bool purged_class = SystemDictionary::do_unloading(is_alive_closure()); |
2123 bool purged_class = SystemDictionary::do_unloading(is_alive_closure(), &_gc_timer); |
2124 |
2124 |
2125 // Unload nmethods. |
2125 // Unload nmethods. |
2126 CodeCache::do_unloading(is_alive_closure(), purged_class); |
2126 CodeCache::do_unloading(is_alive_closure(), purged_class); |
2127 |
2127 |
2128 // Prune dead klasses from subklass/sibling/implementor lists. |
2128 // Prune dead klasses from subklass/sibling/implementor lists. |