Skip to content

Commit eaf37ca

Browse files
committed
mark NodeClass and LIRInstructionClass constructors as hosted-only
1 parent f11bd20 commit eaf37ca

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/graph/NodeClass.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@
7171
import jdk.graal.compiler.nodeinfo.NodeSize;
7272
import jdk.graal.compiler.nodeinfo.Verbosity;
7373
import jdk.internal.misc.Unsafe;
74+
import org.graalvm.nativeimage.Platform;
75+
import org.graalvm.nativeimage.Platforms;
7476

7577
/**
7678
* Metadata for every {@link Node} type. The metadata includes:
@@ -109,6 +111,7 @@ private static <T extends Annotation> T getAnnotationTimed(AnnotatedElement e, C
109111
/**
110112
* Gets the {@link NodeClass} associated with a given {@link Class}.
111113
*/
114+
@Platforms(Platform.HOSTED_ONLY.class)
112115
public static <T> NodeClass<T> create(Class<T> c) {
113116
assert getUnchecked(c) == null;
114117
Class<? super T> superclass = c.getSuperclass();
@@ -120,6 +123,7 @@ public static <T> NodeClass<T> create(Class<T> c) {
120123
}
121124

122125
@SuppressWarnings("unchecked")
126+
@Platforms(Platform.HOSTED_ONLY.class)
123127
private static <T> NodeClass<T> getUnchecked(Class<T> clazz) {
124128
try {
125129
Field field = clazz.getDeclaredField("TYPE");
@@ -130,6 +134,7 @@ private static <T> NodeClass<T> getUnchecked(Class<T> clazz) {
130134
}
131135
}
132136

137+
@Platforms(Platform.HOSTED_ONLY.class)
133138
public static <T> NodeClass<T> get(Class<T> clazz) {
134139
NodeClass<T> result = getUnchecked(clazz);
135140
if (result == null && clazz != NODE_CLASS) {
@@ -169,12 +174,14 @@ public static <T> NodeClass<T> get(Class<T> clazz) {
169174

170175
private final int leafId;
171176

177+
@Platforms(Platform.HOSTED_ONLY.class)
172178
public NodeClass(Class<T> clazz, NodeClass<? super T> superNodeClass) {
173179
this(clazz, superNodeClass, new FieldsScanner.DefaultCalcOffset(), null, 0);
174180
}
175181

176182
@SuppressWarnings("try")
177-
public NodeClass(Class<T> clazz, NodeClass<? super T> superNodeClass, FieldsScanner.CalcOffset calcOffset, int[] presetIterableIds, int presetIterableId) {
183+
@Platforms(Platform.HOSTED_ONLY.class)
184+
private NodeClass(Class<T> clazz, NodeClass<? super T> superNodeClass, FieldsScanner.CalcOffset calcOffset, int[] presetIterableIds, int presetIterableId) {
178185
super(clazz);
179186
DebugContext debug = DebugContext.forCurrentThread();
180187
this.superNodeClass = superNodeClass;

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/lir/LIRInstructionClass.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,12 @@
4040
import jdk.graal.compiler.lir.StandardOp.ValueMoveOp;
4141
import jdk.vm.ci.code.BytecodeFrame;
4242
import jdk.vm.ci.meta.Value;
43+
import org.graalvm.nativeimage.Platform;
44+
import org.graalvm.nativeimage.Platforms;
4345

4446
public class LIRInstructionClass<T> extends LIRIntrospection<T> {
4547

48+
@Platforms(Platform.HOSTED_ONLY.class)
4649
public static <T extends LIRInstruction> LIRInstructionClass<T> create(Class<T> c) {
4750
return new LIRInstructionClass<>(c);
4851
}
@@ -63,10 +66,12 @@ public static <T extends LIRInstruction> LIRInstructionClass<T> create(Class<T>
6366
private String opcodeConstant;
6467
private int opcodeIndex;
6568

69+
@Platforms(Platform.HOSTED_ONLY.class)
6670
private LIRInstructionClass(Class<T> clazz) {
6771
this(clazz, new FieldsScanner.DefaultCalcOffset());
6872
}
6973

74+
@Platforms(Platform.HOSTED_ONLY.class)
7075
public LIRInstructionClass(Class<T> clazz, FieldsScanner.CalcOffset calcOffset) {
7176
super(clazz);
7277
assert INSTRUCTION_CLASS.isAssignableFrom(clazz);
@@ -95,6 +100,7 @@ public LIRInstructionClass(Class<T> clazz, FieldsScanner.CalcOffset calcOffset)
95100
}
96101

97102
@SuppressWarnings("unchecked")
103+
@Platforms(Platform.HOSTED_ONLY.class)
98104
public static <T> LIRInstructionClass<T> get(Class<T> clazz) {
99105
try {
100106
Field field = clazz.getDeclaredField("TYPE");

0 commit comments

Comments
 (0)