8215505: Cleanup jvm.cpp obsolete code after JDK-8210094: Better loading of classloader classes
Summary: remove dead code, also remove function that is not needed after 8210094.
Reviewed-by: lfoltan, dholmes
--- a/src/hotspot/share/classfile/dictionary.cpp Fri Feb 01 12:44:30 2019 +0100
+++ b/src/hotspot/share/classfile/dictionary.cpp Fri Feb 01 06:42:41 2019 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -198,41 +198,6 @@
}
}
-// During class loading we may have cached a protection domain that has
-// since been unreferenced, so this entry should be cleared.
-void Dictionary::clean_cached_protection_domains(DictionaryEntry* probe) {
- assert_locked_or_safepoint(SystemDictionary_lock);
-
- ProtectionDomainEntry* current = probe->pd_set();
- ProtectionDomainEntry* prev = NULL;
- while (current != NULL) {
- if (current->object_no_keepalive() == NULL) {
- LogTarget(Debug, protectiondomain) lt;
- if (lt.is_enabled()) {
- ResourceMark rm;
- // Print out trace information
- LogStream ls(lt);
- ls.print_cr("PD in set is not alive:");
- ls.print("class loader: "); loader_data()->class_loader()->print_value_on(&ls);
- ls.print(" loading: "); probe->instance_klass()->print_value_on(&ls);
- ls.cr();
- }
- if (probe->pd_set() == current) {
- probe->set_pd_set(current->next());
- } else {
- assert(prev != NULL, "should be set by alive entry");
- prev->set_next(current->next());
- }
- ProtectionDomainEntry* to_delete = current;
- current = current->next();
- delete to_delete;
- } else {
- prev = current;
- current = current->next();
- }
- }
-}
-
// Just the classes from defining class loaders
void Dictionary::classes_do(void f(InstanceKlass*)) {
for (int index = 0; index < table_size(); index++) {
--- a/src/hotspot/share/classfile/dictionary.hpp Fri Feb 01 12:44:30 2019 +0100
+++ b/src/hotspot/share/classfile/dictionary.hpp Fri Feb 01 06:42:41 2019 -0500
@@ -51,8 +51,6 @@
DictionaryEntry* get_entry(int index, unsigned int hash, Symbol* name);
- void clean_cached_protection_domains(DictionaryEntry* probe);
-
public:
Dictionary(ClassLoaderData* loader_data, int table_size, bool resizable = false);
Dictionary(ClassLoaderData* loader_data, int table_size, HashtableBucket<mtClass>* t, int number_of_entries, bool resizable = false);
--- a/src/hotspot/share/prims/jvm.cpp Fri Feb 01 12:44:30 2019 +0100
+++ b/src/hotspot/share/prims/jvm.cpp Fri Feb 01 06:42:41 2019 -0500
@@ -870,10 +870,6 @@
Handle h_prot (THREAD, protection_domain);
jclass result = find_class_from_class_loader(env, h_name, init, h_loader,
h_prot, true, thread);
- if (result != NULL) {
- oop mirror = JNIHandles::resolve_non_null(result);
- Klass* to_class = java_lang_Class::as_Klass(mirror);
- }
if (log_is_enabled(Debug, class, resolve) && result != NULL) {
// this function is generally only used for class loading during verification.