File tree Expand file tree Collapse file tree 2 files changed +4
-8
lines changed
substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/heap Expand file tree Collapse file tree 2 files changed +4
-8
lines changed Original file line number Diff line number Diff line change 33
33
import com .oracle .svm .core .stack .StackOverflowCheck ;
34
34
import com .oracle .svm .core .util .VMError ;
35
35
36
+ import jdk .internal .ref .CleanerFactory ;
37
+
36
38
public final class ReferenceHandler {
37
39
public static boolean useDedicatedThread () {
38
40
int automaticReferenceHandling = IsolateArgumentParser .getOptionIndex (SubstrateOptions .ConcealedOptions .AutomaticReferenceHandling );
@@ -68,7 +70,7 @@ static void processCleaners() {
68
70
// Note: (sun.misc|jdk.internal).Cleaner objects are invoked in pending reference processing
69
71
70
72
// Process the JDK's common cleaner, additional cleaners start their own threads
71
- Target_java_lang_ref_Cleaner commonCleaner = Target_jdk_internal_ref_CleanerFactory . cleaner ();
73
+ Target_java_lang_ref_Cleaner commonCleaner = SubstrateUtil . cast ( CleanerFactory . cleaner (), Target_java_lang_ref_Cleaner . class );
72
74
Reference <?> ref = commonCleaner .impl .queue .poll ();
73
75
while (ref != null ) {
74
76
try {
Original file line number Diff line number Diff line change 44
44
@ TargetClass (className = "java.lang.ref.Cleaner" )
45
45
public final class Target_java_lang_ref_Cleaner {
46
46
@ Alias //
47
- public Target_jdk_internal_ref_CleanerImpl impl ;
48
- }
49
-
50
- @ TargetClass (className = "jdk.internal.ref.CleanerFactory" )
51
- final class Target_jdk_internal_ref_CleanerFactory {
52
- @ Alias
53
- public static native Target_java_lang_ref_Cleaner cleaner ();
47
+ Target_jdk_internal_ref_CleanerImpl impl ;
54
48
}
55
49
56
50
@ TargetClass (className = "java.lang.ref.Cleaner$Cleanable" )
You can’t perform that action at this time.
0 commit comments