Skip to content

Commit aee11e1

Browse files
committed
Remove core reflection use from ObjectLayout
1 parent 6565845 commit aee11e1

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/config/ObjectLayout.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626

2727
import static com.oracle.svm.guest.staging.Uninterruptible.CALLED_FROM_UNINTERRUPTIBLE_CODE;
2828

29-
import java.lang.reflect.Field;
3029
import java.util.Arrays;
3130
import java.util.List;
3231
import java.util.function.Predicate;
@@ -50,6 +49,7 @@
5049
import com.oracle.svm.shared.singletons.traits.SingletonLayeredInstallationKind.Duplicable;
5150
import com.oracle.svm.shared.singletons.traits.SingletonTraits;
5251
import com.oracle.svm.util.AnnotationUtil;
52+
import com.oracle.svm.util.GuestAccess;
5353

5454
import jdk.graal.compiler.api.directives.GraalDirectives;
5555
import jdk.graal.compiler.api.replacements.Fold;
@@ -60,6 +60,7 @@
6060
import jdk.vm.ci.meta.JavaKind;
6161
import jdk.vm.ci.meta.JavaType;
6262
import jdk.vm.ci.meta.MetaAccessProvider;
63+
import jdk.vm.ci.meta.ResolvedJavaField;
6364
import jdk.vm.ci.meta.ResolvedJavaType;
6465
import jdk.vm.ci.meta.UnresolvedJavaType;
6566

@@ -370,7 +371,7 @@ public void onSingletonRegistration(ImageSingletonLoader loader, ObjectLayout si
370371
List<Integer> currentValues = singleton.getCurrentValues();
371372
List<Integer> priorValues = loader.readIntList("priorValues");
372373

373-
var numFields = Arrays.stream(ObjectLayout.class.getDeclaredFields()).filter(Predicate.not(Field::isSynthetic)).count();
374+
var numFields = Arrays.stream(GuestAccess.get().lookupType(ObjectLayout.class).getInstanceFields(false)).filter(Predicate.not(ResolvedJavaField::isSynthetic)).count();
374375
VMError.guarantee(numFields - 1 == currentValues.size(), "Missing fields");
375376

376377
VMError.guarantee(currentValues.equals(priorValues),

0 commit comments

Comments
 (0)