equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2005, 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. |
123 for (ResolutionErrorEntry** p = bucket_addr(i); *p != NULL; ) { |
123 for (ResolutionErrorEntry** p = bucket_addr(i); *p != NULL; ) { |
124 ResolutionErrorEntry* entry = *p; |
124 ResolutionErrorEntry* entry = *p; |
125 assert(entry->pool() != (ConstantPool*)NULL, "resolution error table is corrupt"); |
125 assert(entry->pool() != (ConstantPool*)NULL, "resolution error table is corrupt"); |
126 ConstantPool* pool = entry->pool(); |
126 ConstantPool* pool = entry->pool(); |
127 assert(pool->pool_holder() != NULL, "Constant pool without a class?"); |
127 assert(pool->pool_holder() != NULL, "Constant pool without a class?"); |
128 ClassLoaderData* loader_data = |
128 |
129 pool->pool_holder()->class_loader_data(); |
129 if (pool->pool_holder()->is_loader_alive()) { |
130 if (!loader_data->is_unloading()) { |
|
131 p = entry->next_addr(); |
130 p = entry->next_addr(); |
132 } else { |
131 } else { |
133 *p = entry->next(); |
132 *p = entry->next(); |
134 free_entry(entry); |
133 free_entry(entry); |
135 } |
134 } |