equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2016, 2018, 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. |
300 return (is_unqual_exported() && _qualified_exports != NULL); |
300 return (is_unqual_exported() && _qualified_exports != NULL); |
301 } |
301 } |
302 |
302 |
303 // Remove dead entries from all packages' exported list |
303 // Remove dead entries from all packages' exported list |
304 void PackageEntryTable::purge_all_package_exports() { |
304 void PackageEntryTable::purge_all_package_exports() { |
305 assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint"); |
305 assert_locked_or_safepoint(Module_lock); |
306 for (int i = 0; i < table_size(); i++) { |
306 for (int i = 0; i < table_size(); i++) { |
307 for (PackageEntry* entry = bucket(i); |
307 for (PackageEntry* entry = bucket(i); |
308 entry != NULL; |
308 entry != NULL; |
309 entry = entry->next()) { |
309 entry = entry->next()) { |
310 if (entry->exported_pending_delete()) { |
310 if (entry->exported_pending_delete()) { |