--- a/hotspot/src/share/vm/classfile/systemDictionary.cpp Tue Jan 12 16:01:54 2016 +0100
+++ b/hotspot/src/share/vm/classfile/systemDictionary.cpp Tue Jan 12 17:02:10 2016 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, 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
@@ -1974,12 +1974,11 @@
InstanceKlass::cast(WK_KLASS(Reference_klass))->set_reference_type(REF_OTHER);
InstanceRefKlass::update_nonstatic_oop_maps(WK_KLASS(Reference_klass));
- initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(Cleaner_klass), scan, CHECK);
+ initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(PhantomReference_klass), scan, CHECK);
InstanceKlass::cast(WK_KLASS(SoftReference_klass))->set_reference_type(REF_SOFT);
InstanceKlass::cast(WK_KLASS(WeakReference_klass))->set_reference_type(REF_WEAK);
InstanceKlass::cast(WK_KLASS(FinalReference_klass))->set_reference_type(REF_FINAL);
InstanceKlass::cast(WK_KLASS(PhantomReference_klass))->set_reference_type(REF_PHANTOM);
- InstanceKlass::cast(WK_KLASS(Cleaner_klass))->set_reference_type(REF_CLEANER);
// JSR 292 classes
WKID jsr292_group_start = WK_KLASS_ENUM_NAME(MethodHandle_klass);
--- a/hotspot/src/share/vm/classfile/systemDictionary.hpp Tue Jan 12 16:01:54 2016 +0100
+++ b/hotspot/src/share/vm/classfile/systemDictionary.hpp Tue Jan 12 17:02:10 2016 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, 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
@@ -128,7 +128,6 @@
do_klass(WeakReference_klass, java_lang_ref_WeakReference, Pre ) \
do_klass(FinalReference_klass, java_lang_ref_FinalReference, Pre ) \
do_klass(PhantomReference_klass, java_lang_ref_PhantomReference, Pre ) \
- do_klass(Cleaner_klass, sun_misc_Cleaner, Pre ) \
do_klass(Finalizer_klass, java_lang_ref_Finalizer, Pre ) \
\
do_klass(Thread_klass, java_lang_Thread, Pre ) \
--- a/hotspot/src/share/vm/classfile/vmSymbols.hpp Tue Jan 12 16:01:54 2016 +0100
+++ b/hotspot/src/share/vm/classfile/vmSymbols.hpp Tue Jan 12 17:02:10 2016 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, 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
@@ -82,7 +82,6 @@
template(java_lang_ref_WeakReference, "java/lang/ref/WeakReference") \
template(java_lang_ref_FinalReference, "java/lang/ref/FinalReference") \
template(java_lang_ref_PhantomReference, "java/lang/ref/PhantomReference") \
- template(sun_misc_Cleaner, "sun/misc/Cleaner") \
template(java_lang_ref_Finalizer, "java/lang/ref/Finalizer") \
template(java_lang_reflect_AccessibleObject, "java/lang/reflect/AccessibleObject") \
template(java_lang_reflect_Method, "java/lang/reflect/Method") \
--- a/hotspot/src/share/vm/gc/shared/referenceProcessor.cpp Tue Jan 12 16:01:54 2016 +0100
+++ b/hotspot/src/share/vm/gc/shared/referenceProcessor.cpp Tue Jan 12 17:02:10 2016 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2016, 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
@@ -119,7 +119,6 @@
_discoveredWeakRefs = &_discoveredSoftRefs[_max_num_q];
_discoveredFinalRefs = &_discoveredWeakRefs[_max_num_q];
_discoveredPhantomRefs = &_discoveredFinalRefs[_max_num_q];
- _discoveredCleanerRefs = &_discoveredPhantomRefs[_max_num_q];
// Initialize all entries to NULL
for (uint i = 0; i < _max_num_q * number_of_subclasses_of_ref(); i++) {
@@ -208,14 +207,11 @@
_soft_ref_timestamp_clock = java_lang_ref_SoftReference::clock();
- // Include cleaners in phantom statistics. We expect Cleaner
- // references to be temporary, and don't want to deal with
- // possible incompatibilities arising from making it more visible.
ReferenceProcessorStats stats(
total_count(_discoveredSoftRefs),
total_count(_discoveredWeakRefs),
total_count(_discoveredFinalRefs),
- total_count(_discoveredPhantomRefs) + total_count(_discoveredCleanerRefs));
+ total_count(_discoveredPhantomRefs));
// Soft references
{
@@ -245,12 +241,6 @@
GCTraceTime(Debug, gc, ref) tt("PhantomReference", gc_timer);
process_discovered_reflist(_discoveredPhantomRefs, NULL, true,
is_alive, keep_alive, complete_gc, task_executor);
-
- // Process cleaners, but include them in phantom timing. We expect
- // Cleaner references to be temporary, and don't want to deal with
- // possible incompatibilities arising from making it more visible.
- process_discovered_reflist(_discoveredCleanerRefs, NULL, true,
- is_alive, keep_alive, complete_gc, task_executor);
}
// Weak global JNI references. It would make more sense (semantically) to
@@ -807,7 +797,6 @@
balance_queues(_discoveredWeakRefs);
balance_queues(_discoveredFinalRefs);
balance_queues(_discoveredPhantomRefs);
- balance_queues(_discoveredCleanerRefs);
}
void ReferenceProcessor::process_discovered_reflist(
@@ -912,9 +901,6 @@
case REF_PHANTOM:
list = &_discoveredPhantomRefs[id];
break;
- case REF_CLEANER:
- list = &_discoveredCleanerRefs[id];
- break;
case REF_NONE:
// we should not reach here if we are an InstanceRefKlass
default:
@@ -1162,17 +1148,6 @@
preclean_discovered_reflist(_discoveredPhantomRefs[i], is_alive,
keep_alive, complete_gc, yield);
}
-
- // Cleaner references. Included in timing for phantom references. We
- // expect Cleaner references to be temporary, and don't want to deal with
- // possible incompatibilities arising from making it more visible.
- for (uint i = 0; i < _max_num_q; i++) {
- if (yield->should_return()) {
- return;
- }
- preclean_discovered_reflist(_discoveredCleanerRefs[i], is_alive,
- keep_alive, complete_gc, yield);
- }
}
}
@@ -1238,7 +1213,6 @@
case 1: return "WeakRef";
case 2: return "FinalRef";
case 3: return "PhantomRef";
- case 4: return "CleanerRef";
}
ShouldNotReachHere();
return NULL;
--- a/hotspot/src/share/vm/gc/shared/referenceProcessor.hpp Tue Jan 12 16:01:54 2016 +0100
+++ b/hotspot/src/share/vm/gc/shared/referenceProcessor.hpp Tue Jan 12 17:02:10 2016 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2016, 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
@@ -244,10 +244,9 @@
DiscoveredList* _discoveredWeakRefs;
DiscoveredList* _discoveredFinalRefs;
DiscoveredList* _discoveredPhantomRefs;
- DiscoveredList* _discoveredCleanerRefs;
public:
- static int number_of_subclasses_of_ref() { return (REF_CLEANER - REF_OTHER); }
+ static int number_of_subclasses_of_ref() { return (REF_PHANTOM - REF_OTHER); }
uint num_q() { return _num_q; }
uint max_num_q() { return _max_num_q; }
--- a/hotspot/src/share/vm/memory/referenceType.hpp Tue Jan 12 16:01:54 2016 +0100
+++ b/hotspot/src/share/vm/memory/referenceType.hpp Tue Jan 12 17:02:10 2016 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2016, 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
@@ -35,8 +35,7 @@
REF_SOFT, // Subclass of java/lang/ref/SoftReference
REF_WEAK, // Subclass of java/lang/ref/WeakReference
REF_FINAL, // Subclass of java/lang/ref/FinalReference
- REF_PHANTOM, // Subclass of java/lang/ref/PhantomReference
- REF_CLEANER // Subclass of sun/misc/Cleaner
+ REF_PHANTOM // Subclass of java/lang/ref/PhantomReference
};
#endif // SHARE_VM_MEMORY_REFERENCETYPE_HPP
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp Tue Jan 12 16:01:54 2016 +0100
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp Tue Jan 12 17:02:10 2016 +0000
@@ -706,7 +706,6 @@
static_field(SystemDictionary, WK_KLASS(WeakReference_klass), InstanceKlass*) \
static_field(SystemDictionary, WK_KLASS(FinalReference_klass), InstanceKlass*) \
static_field(SystemDictionary, WK_KLASS(PhantomReference_klass), InstanceKlass*) \
- static_field(SystemDictionary, WK_KLASS(Cleaner_klass), InstanceKlass*) \
static_field(SystemDictionary, WK_KLASS(Finalizer_klass), InstanceKlass*) \
static_field(SystemDictionary, WK_KLASS(Thread_klass), InstanceKlass*) \
static_field(SystemDictionary, WK_KLASS(ThreadGroup_klass), InstanceKlass*) \