|
43 | 43 | import io.quarkus.deployment.builditem.nativeimage.UnsafeAccessedFieldBuildItem; |
44 | 44 | import io.quarkus.deployment.pkg.steps.GraalVM; |
45 | 45 | import io.quarkus.gizmo.AssignableResultHandle; |
46 | | -import io.quarkus.gizmo.BranchResult; |
47 | | -import io.quarkus.gizmo.BytecodeCreator; |
48 | 46 | import io.quarkus.gizmo.CatchBlockCreator; |
49 | 47 | import io.quarkus.gizmo.ClassCreator; |
50 | 48 | import io.quarkus.gizmo.ClassOutput; |
|
59 | 57 | public class NativeImageFeatureStep { |
60 | 58 |
|
61 | 59 | public static final String GRAAL_FEATURE = "io.quarkus.runner.Feature"; |
62 | | - private static final MethodDescriptor VERSION_CURRENT = ofMethod(Version.class, "getCurrent", Version.class); |
63 | | - private static final MethodDescriptor VERSION_COMPARE_TO = ofMethod(Version.class, "compareTo", int.class, int[].class); |
64 | 60 |
|
65 | 61 | private static final MethodDescriptor IMAGE_SINGLETONS_LOOKUP = ofMethod(ImageSingletons.class, "lookup", Object.class, |
66 | 62 | Class.class); |
@@ -589,36 +585,6 @@ public void write(String s, byte[] bytes) { |
589 | 585 | } |
590 | 586 |
|
591 | 587 | private MethodDescriptor createRegisterSerializationForClassMethod(ClassCreator file) { |
592 | | - //register serialization feature as requested |
593 | | - MethodCreator requiredFeatures = file.getMethodCreator("getRequiredFeatures", "java.util.List"); |
594 | | - |
595 | | - TryBlock requiredTryCatch = requiredFeatures.tryBlock(); |
596 | | - |
597 | | - AssignableResultHandle serializationFeatureClass = requiredTryCatch.createVariable(Class.class); |
598 | | - |
599 | | - BranchResult graalVm22_3Test = requiredTryCatch.ifGreaterEqualZero( |
600 | | - requiredTryCatch.invokeVirtualMethod(VERSION_COMPARE_TO, |
601 | | - requiredTryCatch.invokeStaticMethod(VERSION_CURRENT), |
602 | | - requiredTryCatch.marshalAsArray(int.class, requiredTryCatch.load(22), requiredTryCatch.load(3)))); |
603 | | - /* GraalVM >= 22.3 */ |
604 | | - BytecodeCreator greaterThan22_2 = graalVm22_3Test.trueBranch(); |
605 | | - greaterThan22_2.assign(serializationFeatureClass, |
606 | | - greaterThan22_2.loadClassFromTCCL("com.oracle.svm.hosted.reflect.serialize.SerializationFeature")); |
607 | | - /* GraalVM < 22.3 */ |
608 | | - BytecodeCreator smallerThan22_3 = graalVm22_3Test.falseBranch(); |
609 | | - smallerThan22_3.assign(serializationFeatureClass, |
610 | | - smallerThan22_3.loadClassFromTCCL("com.oracle.svm.reflect.serialize.hosted.SerializationFeature")); |
611 | | - |
612 | | - ResultHandle requiredFeaturesList = requiredTryCatch.invokeStaticMethod( |
613 | | - ofMethod("java.util.Collections", "singletonList", List.class, Object.class), |
614 | | - serializationFeatureClass); |
615 | | - |
616 | | - requiredTryCatch.returnValue(requiredFeaturesList); |
617 | | - |
618 | | - CatchBlockCreator cc = requiredTryCatch.addCatch(Throwable.class); |
619 | | - cc.invokeVirtualMethod(ofMethod(Throwable.class, "printStackTrace", void.class), cc.getCaughtException()); |
620 | | - cc.throwException(cc.getCaughtException()); |
621 | | - |
622 | 588 | // method to register class for registration |
623 | 589 | MethodCreator addSerializationForClass = file.getMethodCreator("registerSerializationForClass", "V", Class.class); |
624 | 590 | addSerializationForClass.setModifiers(Modifier.PRIVATE | Modifier.STATIC); |
|
0 commit comments