Skip to content

Commit 3920473

Browse files
Add BooleanSupplier for crema on/off
1 parent 296016f commit 3920473

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/hub/RuntimeClassLoading.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,11 @@
2727
import static jdk.graal.compiler.options.OptionStability.EXPERIMENTAL;
2828

2929
import java.security.ProtectionDomain;
30+
import java.util.function.BooleanSupplier;
3031

3132
import org.graalvm.collections.EconomicMap;
33+
import org.graalvm.nativeimage.Platform;
34+
import org.graalvm.nativeimage.Platforms;
3235

3336
import com.oracle.svm.core.SubstrateOptions;
3437
import com.oracle.svm.core.hub.crema.CremaSupport;
@@ -122,6 +125,22 @@ public static boolean isSupported() {
122125
return Options.RuntimeClassLoading.getValue();
123126
}
124127

128+
@Platforms(Platform.HOSTED_ONLY.class)
129+
public static final class NoRuntimeClassLoading implements BooleanSupplier {
130+
@Override
131+
public boolean getAsBoolean() {
132+
return !isSupported();
133+
}
134+
}
135+
136+
@Platforms(Platform.HOSTED_ONLY.class)
137+
public static final class WithRuntimeClassLoading implements BooleanSupplier {
138+
@Override
139+
public boolean getAsBoolean() {
140+
return isSupported();
141+
}
142+
}
143+
125144
public static Class<?> defineClass(ClassLoader loader, String expectedName, byte[] b, int off, int len, ClassDefinitionInfo info) {
126145
if (PredefinedClassesSupport.hasBytecodeClasses()) {
127146
Class<?> knownClass = PredefinedClassesSupport.knownClass(b, off, len);

0 commit comments

Comments
 (0)