|
67 | 67 | import java.util.stream.IntStream;
|
68 | 68 | import java.util.stream.Stream;
|
69 | 69 |
|
70 |
| -import com.oracle.svm.shaded.org.capnproto.ListBuilder; |
71 |
| -import com.oracle.svm.shaded.org.capnproto.MessageBuilder; |
72 |
| -import com.oracle.svm.shaded.org.capnproto.PrimitiveList; |
73 |
| -import com.oracle.svm.shaded.org.capnproto.Serialize; |
74 |
| -import com.oracle.svm.shaded.org.capnproto.StructBuilder; |
75 |
| -import com.oracle.svm.shaded.org.capnproto.StructList; |
76 |
| -import com.oracle.svm.shaded.org.capnproto.Text; |
77 |
| -import com.oracle.svm.shaded.org.capnproto.TextList; |
78 |
| -import com.oracle.svm.shaded.org.capnproto.Void; |
79 | 70 | import org.graalvm.collections.EconomicMap;
|
80 | 71 | import org.graalvm.collections.MapCursor;
|
81 | 72 | import org.graalvm.nativeimage.AnnotationAccess;
|
|
104 | 95 | import com.oracle.svm.core.FunctionPointerHolder;
|
105 | 96 | import com.oracle.svm.core.StaticFieldsSupport;
|
106 | 97 | import com.oracle.svm.core.SubstrateOptions;
|
| 98 | +import com.oracle.svm.core.annotate.Delete; |
107 | 99 | import com.oracle.svm.core.classinitialization.ClassInitializationInfo;
|
108 | 100 | import com.oracle.svm.core.graal.code.CGlobalDataBasePointer;
|
109 | 101 | import com.oracle.svm.core.hub.DynamicHub;
|
|
158 | 150 | import com.oracle.svm.hosted.reflect.proxy.ProxySubstitutionType;
|
159 | 151 | import com.oracle.svm.hosted.substitute.PolymorphicSignatureWrapperMethod;
|
160 | 152 | import com.oracle.svm.hosted.substitute.SubstitutionMethod;
|
| 153 | +import com.oracle.svm.shaded.org.capnproto.ListBuilder; |
| 154 | +import com.oracle.svm.shaded.org.capnproto.MessageBuilder; |
| 155 | +import com.oracle.svm.shaded.org.capnproto.PrimitiveList; |
| 156 | +import com.oracle.svm.shaded.org.capnproto.Serialize; |
| 157 | +import com.oracle.svm.shaded.org.capnproto.StructBuilder; |
| 158 | +import com.oracle.svm.shaded.org.capnproto.StructList; |
| 159 | +import com.oracle.svm.shaded.org.capnproto.Text; |
| 160 | +import com.oracle.svm.shaded.org.capnproto.TextList; |
| 161 | +import com.oracle.svm.shaded.org.capnproto.Void; |
161 | 162 | import com.oracle.svm.util.FileDumpingUtil;
|
162 | 163 | import com.oracle.svm.util.LogUtils;
|
163 | 164 | import com.oracle.svm.util.ModuleSupport;
|
@@ -867,7 +868,8 @@ private boolean shouldRelinkConstant(ImageHeapConstant heapConstant) {
|
867 | 868 | }
|
868 | 869 |
|
869 | 870 | private static boolean shouldRelinkField(AnalysisField field) {
|
870 |
| - return ClassInitializationSupport.singleton().maybeInitializeAtBuildTime(field.getDeclaringClass()) && |
| 871 | + return !AnnotationAccess.isAnnotationPresent(field, Delete.class) && |
| 872 | + ClassInitializationSupport.singleton().maybeInitializeAtBuildTime(field.getDeclaringClass()) && |
871 | 873 | field.isStatic() && field.isFinal() && field.isTrackedAcrossLayers() && field.installableInLayer();
|
872 | 874 | }
|
873 | 875 |
|
|
0 commit comments