diff --git a/substratevm/mx.substratevm/suite.py b/substratevm/mx.substratevm/suite.py index cdc3aaee8f9e..2179cfedee3b 100644 --- a/substratevm/mx.substratevm/suite.py +++ b/substratevm/mx.substratevm/suite.py @@ -2305,7 +2305,7 @@ "org.graalvm.collections", ], "exports" : [ - """com.oracle.svm.util to org.graalvm.nativeimage.pointsto, + """com.oracle.svm.util* to org.graalvm.nativeimage.pointsto, org.graalvm.nativeimage.builder, org.graalvm.nativeimage.configure, org.graalvm.nativeimage.librarysupport, diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIJNIAccess.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIJNIAccessImpl.java similarity index 80% rename from substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIJNIAccess.java rename to substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIJNIAccessImpl.java index 8e1a19a8fbb0..3ea94ab08bde 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIJNIAccess.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIJNIAccessImpl.java @@ -24,60 +24,49 @@ */ package com.oracle.svm.hosted.dynamicaccess; -import java.lang.reflect.Executable; -import java.lang.reflect.Field; - import org.graalvm.nativeimage.dynamicaccess.AccessCondition; import com.oracle.svm.hosted.JNIAccessImpl; import com.oracle.svm.util.OriginalClassProvider; import com.oracle.svm.util.OriginalFieldProvider; import com.oracle.svm.util.OriginalMethodProvider; +import com.oracle.svm.util.dynamicaccess.JVMCIJNIAccess; import jdk.vm.ci.meta.ResolvedJavaField; import jdk.vm.ci.meta.ResolvedJavaMethod; import jdk.vm.ci.meta.ResolvedJavaType; -/** - * Mirror of {@link org.graalvm.nativeimage.dynamicaccess.JNIAccess} using JVMCI types. - */ -public final class JVMCIJNIAccess { +public final class JVMCIJNIAccessImpl implements JVMCIJNIAccess { private final JNIAccessImpl jniInstance; private static JVMCIJNIAccess instance; - private JVMCIJNIAccess() { + private JVMCIJNIAccessImpl() { jniInstance = JNIAccessImpl.singleton(); } public static JVMCIJNIAccess singleton() { if (instance == null) { - instance = new JVMCIJNIAccess(); + instance = new JVMCIJNIAccessImpl(); } return instance; } - /** - * @see org.graalvm.nativeimage.dynamicaccess.JNIAccess#register(AccessCondition, Class...) - */ + @Override public void register(AccessCondition condition, ResolvedJavaType... types) { for (ResolvedJavaType type : types) { jniInstance.register(condition, OriginalClassProvider.getJavaClass(type)); } } - /** - * @see org.graalvm.nativeimage.dynamicaccess.JNIAccess#register(AccessCondition, Executable...) - */ + @Override public void register(AccessCondition condition, ResolvedJavaMethod... methods) { for (ResolvedJavaMethod method : methods) { jniInstance.register(condition, OriginalMethodProvider.getJavaMethod(method)); } } - /** - * @see org.graalvm.nativeimage.dynamicaccess.JNIAccess#register(AccessCondition, Field...) - */ + @Override public void register(AccessCondition condition, ResolvedJavaField... fields) { for (ResolvedJavaField field : fields) { jniInstance.register(condition, OriginalFieldProvider.getJavaField(field)); diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIReflectiveAccess.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIReflectiveAccessImpl.java similarity index 80% rename from substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIReflectiveAccess.java rename to substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIReflectiveAccessImpl.java index 84534dd8a3f8..f89bf55eaf91 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIReflectiveAccess.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIReflectiveAccessImpl.java @@ -24,80 +24,65 @@ */ package com.oracle.svm.hosted.dynamicaccess; -import java.lang.reflect.Executable; -import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import org.graalvm.nativeimage.dynamicaccess.AccessCondition; -import org.graalvm.nativeimage.dynamicaccess.ReflectiveAccess; import com.oracle.svm.hosted.ReflectiveAccessImpl; import com.oracle.svm.util.OriginalClassProvider; import com.oracle.svm.util.OriginalFieldProvider; import com.oracle.svm.util.OriginalMethodProvider; +import com.oracle.svm.util.dynamicaccess.JVMCIReflectiveAccess; import jdk.vm.ci.meta.ResolvedJavaField; import jdk.vm.ci.meta.ResolvedJavaMethod; import jdk.vm.ci.meta.ResolvedJavaType; -/** - * Mirror of {@link ReflectiveAccess} using JVMCI types. - */ -public final class JVMCIReflectiveAccess { +public final class JVMCIReflectiveAccessImpl implements JVMCIReflectiveAccess { private final ReflectiveAccessImpl rdaInstance; private static JVMCIReflectiveAccess instance; - private JVMCIReflectiveAccess() { + private JVMCIReflectiveAccessImpl() { rdaInstance = ReflectiveAccessImpl.singleton(); } public static JVMCIReflectiveAccess singleton() { if (instance == null) { - instance = new JVMCIReflectiveAccess(); + instance = new JVMCIReflectiveAccessImpl(); } return instance; } - /** - * @see ReflectiveAccess#register(AccessCondition, Class...) - */ + @Override public void register(AccessCondition condition, ResolvedJavaType... types) { for (ResolvedJavaType type : types) { rdaInstance.register(condition, OriginalClassProvider.getJavaClass(type)); } } - /** - * @see ReflectiveAccess#register(AccessCondition, Executable...) - */ + @Override public void register(AccessCondition condition, ResolvedJavaMethod... methods) { for (ResolvedJavaMethod method : methods) { rdaInstance.register(condition, OriginalMethodProvider.getJavaMethod(method)); } } - /** - * @see ReflectiveAccess#register(AccessCondition, Field...) - */ + @Override public void register(AccessCondition condition, ResolvedJavaField... fields) { for (ResolvedJavaField field : fields) { rdaInstance.register(condition, OriginalFieldProvider.getJavaField(field)); } } - /** - * @see ReflectiveAccess#registerForSerialization(AccessCondition, Class...) - */ + @Override public void registerForSerialization(AccessCondition condition, ResolvedJavaType... types) { for (ResolvedJavaType type : types) { rdaInstance.registerForSerialization(condition, OriginalClassProvider.getJavaClass(type)); } } - /** - * @see ReflectiveAccess#registerProxy(AccessCondition, Class...) - */ + @Override public Class registerProxy(AccessCondition condition, ResolvedJavaType... interfaces) { List> reflectionInterfaces = new ArrayList<>(); for (ResolvedJavaType intf : interfaces) { @@ -106,9 +91,7 @@ public Class registerProxy(AccessCondition condition, ResolvedJavaType... int return rdaInstance.registerProxy(condition, reflectionInterfaces.toArray(Class[]::new)); } - /** - * @see ReflectiveAccess#registerForUnsafeAllocation(AccessCondition, Class...) - */ + @Override public void registerForUnsafeAllocation(AccessCondition condition, ResolvedJavaType... types) { for (ResolvedJavaType type : types) { rdaInstance.registerForUnsafeAllocation(condition, OriginalClassProvider.getJavaClass(type)); diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxClientFeature.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxClientFeature.java index 0dfa077f57eb..fdcf633016ca 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxClientFeature.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxClientFeature.java @@ -33,9 +33,9 @@ import com.oracle.svm.core.jdk.JNIRegistrationUtil; import com.oracle.svm.core.util.VMError; import com.oracle.svm.hosted.FeatureImpl.BeforeAnalysisAccessImpl; -import com.oracle.svm.hosted.dynamicaccess.JVMCIRuntimeJNIAccess; -import com.oracle.svm.hosted.dynamicaccess.JVMCIRuntimeReflection; import com.oracle.svm.util.JVMCIReflectionUtil; +import com.oracle.svm.util.dynamicaccess.JVMCIRuntimeJNIAccess; +import com.oracle.svm.util.dynamicaccess.JVMCIRuntimeReflection; @AutomaticallyRegisteredFeature public class JmxClientFeature extends JNIRegistrationUtil implements InternalFeature { diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxCommonFeature.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxCommonFeature.java index e3d455af573c..9e093863dcc0 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxCommonFeature.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxCommonFeature.java @@ -37,10 +37,10 @@ import com.oracle.svm.core.feature.AutomaticallyRegisteredFeature; import com.oracle.svm.core.feature.InternalFeature; import com.oracle.svm.hosted.FeatureImpl.BeforeAnalysisAccessImpl; -import com.oracle.svm.hosted.dynamicaccess.JVMCIRuntimeJNIAccess; -import com.oracle.svm.hosted.dynamicaccess.JVMCIRuntimeReflection; import com.oracle.svm.hosted.reflect.proxy.ProxyRegistry; import com.oracle.svm.util.JVMCIReflectionUtil; +import com.oracle.svm.util.dynamicaccess.JVMCIRuntimeJNIAccess; +import com.oracle.svm.util.dynamicaccess.JVMCIRuntimeReflection; import jdk.vm.ci.meta.ResolvedJavaMethod; import jdk.vm.ci.meta.ResolvedJavaType; diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxServerFeature.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxServerFeature.java index 29a7d70e908c..ffd8d7d5937a 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxServerFeature.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JmxServerFeature.java @@ -46,9 +46,9 @@ import com.oracle.svm.core.jdk.management.ManagementAgentStartupHook; import com.oracle.svm.core.jdk.management.ManagementSupport; import com.oracle.svm.hosted.FeatureImpl.BeforeAnalysisAccessImpl; -import com.oracle.svm.hosted.dynamicaccess.JVMCIRuntimeReflection; import com.oracle.svm.hosted.reflect.proxy.ProxyRegistry; import com.oracle.svm.util.JVMCIReflectionUtil; +import com.oracle.svm.util.dynamicaccess.JVMCIRuntimeReflection; import jdk.vm.ci.meta.ResolvedJavaType; diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/snippets/SubstrateGraphBuilderPlugins.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/snippets/SubstrateGraphBuilderPlugins.java index 60dc46d9b35b..18f9750a1ce6 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/snippets/SubstrateGraphBuilderPlugins.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/snippets/SubstrateGraphBuilderPlugins.java @@ -98,7 +98,6 @@ import com.oracle.svm.hosted.ReachabilityCallbackNode; import com.oracle.svm.hosted.SharedArenaSupport; import com.oracle.svm.hosted.code.SubstrateCompilationDirectives; -import com.oracle.svm.hosted.dynamicaccess.JVMCIRuntimeReflection; import com.oracle.svm.hosted.dynamicaccessinference.DynamicAccessInferenceLog; import com.oracle.svm.hosted.dynamicaccessinference.StrictDynamicAccessInferenceFeature; import com.oracle.svm.hosted.nodes.DeoptProxyNode; @@ -108,6 +107,7 @@ import com.oracle.svm.util.JVMCIReflectionUtil; import com.oracle.svm.util.OriginalClassProvider; import com.oracle.svm.util.ReflectionUtil; +import com.oracle.svm.util.dynamicaccess.JVMCIRuntimeReflection; import jdk.graal.compiler.core.common.CompressEncoding; import jdk.graal.compiler.core.common.LibGraalSupport; diff --git a/substratevm/src/com.oracle.svm.polyglot/src/com/oracle/svm/polyglot/scala/ScalaFeature.java b/substratevm/src/com.oracle.svm.polyglot/src/com/oracle/svm/polyglot/scala/ScalaFeature.java index e7c272816c08..09bf6d43ae39 100644 --- a/substratevm/src/com.oracle.svm.polyglot/src/com/oracle/svm/polyglot/scala/ScalaFeature.java +++ b/substratevm/src/com.oracle.svm.polyglot/src/com/oracle/svm/polyglot/scala/ScalaFeature.java @@ -35,9 +35,9 @@ import com.oracle.svm.core.feature.InternalFeature; import com.oracle.svm.core.util.UserError; import com.oracle.svm.hosted.FeatureImpl.BeforeAnalysisAccessImpl; -import com.oracle.svm.hosted.dynamicaccess.JVMCIRuntimeReflection; import com.oracle.svm.util.JVMCIReflectionUtil; import com.oracle.svm.util.ModuleSupport; +import com.oracle.svm.util.dynamicaccess.JVMCIRuntimeReflection; import jdk.graal.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins; import jdk.graal.compiler.phases.util.Providers; diff --git a/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/JVMCIReflectionUtil.java b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/JVMCIReflectionUtil.java index 8800517f0305..35a5a1a46a3a 100644 --- a/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/JVMCIReflectionUtil.java +++ b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/JVMCIReflectionUtil.java @@ -251,4 +251,27 @@ public static ResolvedJavaType getResolvedReturnType(ResolvedJavaMethod m) { } throw new GraalError("Method does not have a resolved return type: %s", m.format("%H.%n(%p)")); } + + /** + * Gets the type name for a {@link ResolvedJavaType}. This is the same as calling + * {@link Class#getTypeName()} on the underlying class. + *

+ * Implementation derived from {@link Class#getTypeName()}. + */ + public static String getTypeName(ResolvedJavaType type) { + if (type.isArray()) { + try { + ResolvedJavaType cl = type; + int dimensions = 0; + do { + dimensions++; + cl = cl.getComponentType(); + } while (cl.isArray()); + return cl.getName().concat("[]".repeat(dimensions)); + } catch (Throwable e) { + /* FALLTHRU */ + } + } + return type.toClassName(); + } } diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIAccessCondition.java b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIAccessCondition.java similarity index 97% rename from substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIAccessCondition.java rename to substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIAccessCondition.java index a9d89d06d3e0..cc298309efe3 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIAccessCondition.java +++ b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIAccessCondition.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package com.oracle.svm.hosted.dynamicaccess; +package com.oracle.svm.util.dynamicaccess; import org.graalvm.nativeimage.dynamicaccess.AccessCondition; diff --git a/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIJNIAccess.java b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIJNIAccess.java new file mode 100644 index 000000000000..d29686f64d19 --- /dev/null +++ b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIJNIAccess.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2025, 2025, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package com.oracle.svm.util.dynamicaccess; + +import org.graalvm.nativeimage.dynamicaccess.AccessCondition; + +import jdk.vm.ci.meta.ResolvedJavaField; +import jdk.vm.ci.meta.ResolvedJavaMethod; +import jdk.vm.ci.meta.ResolvedJavaType; + +/** + * Mirror of org.graalvm.nativeimage.dynamicaccess.JNIAccess using JVMCI types. + */ +public interface JVMCIJNIAccess { + /** + * See org.graalvm.nativeimage.dynamicaccess.JNIAccess#register(AccessCondition, Class...). + */ + void register(AccessCondition condition, ResolvedJavaType... types); + + /** + * See org.graalvm.nativeimage.dynamicaccess.JNIAccess#register(AccessCondition, Executable...). + */ + void register(AccessCondition condition, ResolvedJavaMethod... methods); + + /** + * See org.graalvm.nativeimage.dynamicaccess.JNIAccess#register(AccessCondition, Field...). + */ + void register(AccessCondition condition, ResolvedJavaField... fields); +} diff --git a/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIReflectiveAccess.java b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIReflectiveAccess.java new file mode 100644 index 000000000000..3ad6f0411556 --- /dev/null +++ b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIReflectiveAccess.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2025, 2025, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package com.oracle.svm.util.dynamicaccess; + +import org.graalvm.nativeimage.dynamicaccess.AccessCondition; + +import jdk.vm.ci.meta.ResolvedJavaField; +import jdk.vm.ci.meta.ResolvedJavaMethod; +import jdk.vm.ci.meta.ResolvedJavaType; + +/** + * Mirror of org.graalvm.nativeimage.dynamicaccess.ReflectiveAccess using JVMCI types. + */ +public interface JVMCIReflectiveAccess { + /** + * See org.graalvm.nativeimage.dynamicaccess.ReflectiveAccess#register(AccessCondition, + * Class...). + */ + void register(AccessCondition condition, ResolvedJavaType... types); + + /** + * See org.graalvm.nativeimage.dynamicaccess.ReflectiveAccess#register(AccessCondition, + * Executable...). + */ + void register(AccessCondition condition, ResolvedJavaMethod... methods); + + /** + * See org.graalvm.nativeimage.dynamicaccess.ReflectiveAccess#register(AccessCondition, + * Field...). + */ + void register(AccessCondition condition, ResolvedJavaField... fields); + + /** + * See + * org.graalvm.nativeimage.dynamicaccess.ReflectiveAccess#registerForSerialization(AccessCondition, + * Class...). + */ + void registerForSerialization(AccessCondition condition, ResolvedJavaType... types); + + /** + * See org.graalvm.nativeimage.dynamicaccess.ReflectiveAccess#registerProxy(AccessCondition, + * Class...). + */ + Class registerProxy(AccessCondition condition, ResolvedJavaType... interfaces); + + /** + * See + * org.graalvm.nativeimage.dynamicaccess.ReflectiveAccess#registerForUnsafeAllocation(AccessCondition, + * Class...). + */ + void registerForUnsafeAllocation(AccessCondition condition, ResolvedJavaType... types); +} diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeJNIAccess.java b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeJNIAccess.java similarity index 98% rename from substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeJNIAccess.java rename to substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeJNIAccess.java index 470ebfcc2ed0..c930a5d8eb02 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeJNIAccess.java +++ b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeJNIAccess.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package com.oracle.svm.hosted.dynamicaccess; +package com.oracle.svm.util.dynamicaccess; import java.lang.reflect.Executable; import java.lang.reflect.Field; diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeProxyCreation.java b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeProxyCreation.java similarity index 97% rename from substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeProxyCreation.java rename to substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeProxyCreation.java index 0a43290f7eb1..0cc3e65d796c 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeProxyCreation.java +++ b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeProxyCreation.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package com.oracle.svm.hosted.dynamicaccess; +package com.oracle.svm.util.dynamicaccess; import java.util.Arrays; diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeReflection.java b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeReflection.java similarity index 99% rename from substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeReflection.java rename to substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeReflection.java index ae0ff8c9c3d8..820a6ae25c22 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeReflection.java +++ b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeReflection.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package com.oracle.svm.hosted.dynamicaccess; +package com.oracle.svm.util.dynamicaccess; import java.lang.reflect.Executable; import java.lang.reflect.Field; diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeSerialization.java b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeSerialization.java similarity index 98% rename from substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeSerialization.java rename to substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeSerialization.java index affbff207239..e70eb67f859f 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/dynamicaccess/JVMCIRuntimeSerialization.java +++ b/substratevm/src/com.oracle.svm.util/src/com/oracle/svm/util/dynamicaccess/JVMCIRuntimeSerialization.java @@ -22,7 +22,7 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ -package com.oracle.svm.hosted.dynamicaccess; +package com.oracle.svm.util.dynamicaccess; import java.util.Arrays;