Skip to content

Commit ac63a1b

Browse files
author
Christian Wimmer
committed
Remove JDK8OrEarlier and JDK11OrLater predicates
1 parent d4f71f5 commit ac63a1b

File tree

60 files changed

+232
-1172
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+232
-1172
lines changed

substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/SunMiscSubstitutions.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,7 @@
4242
import com.oracle.svm.core.annotate.AutomaticFeature;
4343
import com.oracle.svm.core.annotate.Substitute;
4444
import com.oracle.svm.core.annotate.TargetClass;
45-
import com.oracle.svm.core.annotate.TargetElement;
4645
import com.oracle.svm.core.headers.LibC;
47-
import com.oracle.svm.core.jdk.JDK11OrLater;
48-
import com.oracle.svm.core.jdk.JDK8OrEarlier;
4946
import com.oracle.svm.core.jdk.RuntimeSupport;
5047
import com.oracle.svm.core.log.Log;
5148
import com.oracle.svm.core.os.IsDefined;
@@ -72,14 +69,7 @@ public String apply(TargetClass annotation) {
7269
final class Target_jdk_internal_misc_Signal {
7370

7471
@Substitute
75-
@TargetElement(onlyWith = JDK8OrEarlier.class)
76-
private static /* native */ int findSignal(String signalName) {
77-
return Util_jdk_internal_misc_Signal.numberFromName(signalName);
78-
}
79-
80-
@Substitute
81-
@TargetElement(onlyWith = JDK11OrLater.class)
82-
private static /* native */ int findSignal0(String signalName) {
72+
private static int findSignal0(String signalName) {
8373
return Util_jdk_internal_misc_Signal.numberFromName(signalName);
8474
}
8575

@@ -416,7 +406,7 @@ public void run() {
416406
}
417407
}
418408

419-
@TargetClass(className = "jdk.internal.misc.VM", onlyWith = JDK11OrLater.class)
409+
@TargetClass(className = "jdk.internal.misc.VM")
420410
final class Target_jdk_internal_misc_VM {
421411

422412
/* Implementation from src/hotspot/share/prims/jvm.cpp#L286 translated to Java. */

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/heap/Target_java_lang_ref_Reference.java

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,8 @@
4949
import com.oracle.svm.core.annotate.TargetElement;
5050
import com.oracle.svm.core.annotate.Uninterruptible;
5151
import com.oracle.svm.core.annotate.UnknownClass;
52-
import com.oracle.svm.core.jdk.JDK11OrLater;
5352
import com.oracle.svm.core.jdk.JDK17OrLater;
5453
import com.oracle.svm.core.jdk.JDK17_0_2OrLater;
55-
import com.oracle.svm.core.jdk.JDK8OrEarlier;
5654
import com.oracle.svm.core.util.VMError;
5755
import com.oracle.svm.util.ReflectionUtil;
5856

@@ -159,45 +157,17 @@ boolean refersTo0(Object obj) {
159157
@KeepOriginal
160158
native boolean isEnqueued();
161159

162-
@Substitute
163-
@TargetElement(onlyWith = JDK8OrEarlier.class)
164-
@SuppressWarnings("unused")
165-
static boolean tryHandlePending(boolean waitForNotify) {
166-
/*
167-
* This method in JDK 8 was replaced by waitForReferenceProcessing in JDK 11. On JDK 8, it
168-
* helped with reference handling by handling a single reference (if one is available). The
169-
* only caller (apart from the reference handling thread itself) in the JDK is
170-
* `Bits.reserveMemory`, which passes `false` as the parameter `waitForNotify`. So our
171-
* substitution, which always waits, is a considerable change in semantics. However, since
172-
* `Bits.reserveMemory` did not change much between JDK 8 and JDK 11, this is OK.
173-
*/
174-
try {
175-
return ReferenceInternals.waitForReferenceProcessing();
176-
} catch (InterruptedException ex) {
177-
Thread.currentThread().interrupt();
178-
/*
179-
* The caller might loop until "there is no more progress", i.e., until this method
180-
* returns false. So returning true could lead to an infinite loop in the caller that is
181-
* not interruptible.
182-
*/
183-
return false;
184-
}
185-
}
186-
187160
/** May be used by {@code JavaLangRefAccess} via {@code SharedSecrets}. */
188161
@Substitute
189-
@TargetElement(onlyWith = JDK11OrLater.class)
190162
static boolean waitForReferenceProcessing() throws InterruptedException {
191163
return ReferenceInternals.waitForReferenceProcessing();
192164
}
193165

194166
@Override
195167
@KeepOriginal //
196-
@TargetElement(onlyWith = JDK11OrLater.class) //
197168
protected native Object clone() throws CloneNotSupportedException;
198169

199170
@Substitute //
200-
@TargetElement(onlyWith = JDK11OrLater.class) //
201171
@SuppressWarnings("unused")
202172
static void reachabilityFence(Object ref) {
203173
GraalDirectives.blackhole(ref);

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/heap/Target_jdk_internal_ref_Cleaner.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import com.oracle.svm.core.annotate.TargetClass;
3737
import com.oracle.svm.core.annotate.TargetElement;
3838
import com.oracle.svm.core.jdk.JDK11OrEarlier;
39-
import com.oracle.svm.core.jdk.JDK11OrLater;
4039

4140
@Platforms(Platform.HOSTED_ONLY.class)
4241
class Package_jdk_internal_ref implements Function<TargetClass, String> {
@@ -74,25 +73,25 @@ public final class Target_jdk_internal_ref_Cleaner {
7473
* handling is the same as on JDK 8.
7574
* </ul>
7675
*/
77-
@TargetClass(className = "jdk.internal.ref.CleanerFactory", onlyWith = JDK11OrLater.class)
76+
@TargetClass(className = "jdk.internal.ref.CleanerFactory")
7877
final class Target_jdk_internal_ref_CleanerFactory {
7978
@Alias
8079
public static native Target_java_lang_ref_Cleaner cleaner();
8180
}
8281

83-
@TargetClass(className = "java.lang.ref.Cleaner", onlyWith = JDK11OrLater.class)
82+
@TargetClass(className = "java.lang.ref.Cleaner")
8483
final class Target_java_lang_ref_Cleaner {
8584
@Alias//
8685
public Target_jdk_internal_ref_CleanerImpl impl;
8786
}
8887

89-
@TargetClass(className = "java.lang.ref.Cleaner$Cleanable", onlyWith = JDK11OrLater.class)
88+
@TargetClass(className = "java.lang.ref.Cleaner$Cleanable")
9089
final class Target_java_lang_ref_Cleaner_Cleanable {
9190
@Alias
9291
native void clean();
9392
}
9493

95-
@TargetClass(className = "jdk.internal.ref.CleanerImpl", onlyWith = JDK11OrLater.class)
94+
@TargetClass(className = "jdk.internal.ref.CleanerImpl")
9695
final class Target_jdk_internal_ref_CleanerImpl {
9796

9897
@Alias @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.NewInstance, declClassName = "jdk.internal.ref.CleanerImpl$PhantomCleanableRef")//
@@ -110,16 +109,16 @@ final class Target_jdk_internal_ref_CleanerImpl {
110109
public ReferenceQueue<Object> queue;
111110
}
112111

113-
@TargetClass(className = "jdk.internal.ref.PhantomCleanable", onlyWith = JDK11OrLater.class)
112+
@TargetClass(className = "jdk.internal.ref.PhantomCleanable")
114113
final class Target_jdk_internal_ref_PhantomCleanable {
115114
}
116115

117116
// Removed by JDK-8251861
118-
@TargetClass(className = "jdk.internal.ref.WeakCleanable", onlyWith = {JDK11OrLater.class, JDK11OrEarlier.class})
117+
@TargetClass(className = "jdk.internal.ref.WeakCleanable", onlyWith = JDK11OrEarlier.class)
119118
final class Target_jdk_internal_ref_WeakCleanable {
120119
}
121120

122121
// Removed by JDK-8251861
123-
@TargetClass(className = "jdk.internal.ref.SoftCleanable", onlyWith = {JDK11OrLater.class, JDK11OrEarlier.class})
122+
@TargetClass(className = "jdk.internal.ref.SoftCleanable", onlyWith = JDK11OrEarlier.class)
124123
final class Target_jdk_internal_ref_SoftCleanable {
125124
}

0 commit comments

Comments
 (0)