diff --git a/substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/headers/Pthread.java b/substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/headers/Pthread.java
index bb466b78cd04..7421bb6a4acb 100644
--- a/substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/headers/Pthread.java
+++ b/substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/headers/Pthread.java
@@ -83,9 +83,6 @@ public interface pthread_key_tPointer extends PointerBase {
pthread_key_t read();
}
- @CConstant
- public static native int PTHREAD_KEYS_MAX();
-
@CConstant
public static native int PTHREAD_CREATE_JOINABLE();
@@ -98,9 +95,6 @@ public interface pthread_key_tPointer extends PointerBase {
@CFunction(value = "pthread_create", transition = Transition.NO_TRANSITION)
public static native int pthread_create_no_transition(pthread_tPointer newthread, pthread_attr_t attr, WordBase start_routine, WordBase arg);
- @CFunction
- public static native int pthread_join(pthread_t th, WordPointer thread_return);
-
@CFunction(value = "pthread_join", transition = Transition.NO_TRANSITION)
public static native int pthread_join_no_transition(pthread_t th, WordPointer thread_return);
@@ -188,9 +182,6 @@ public interface pthread_key_tPointer extends PointerBase {
@CFunction(transition = Transition.NO_TRANSITION)
public static native int pthread_condattr_destroy(pthread_condattr_t attr);
- @CFunction
- public static native int pthread_kill(pthread_t thread, Signal.SignalEnum sig);
-
@CFunction(transition = Transition.NO_TRANSITION)
public static native int pthread_key_create(pthread_key_tPointer key, PointerBase keyDestructor);
@@ -203,4 +194,8 @@ public interface pthread_key_tPointer extends PointerBase {
@CFunction(transition = Transition.NO_TRANSITION)
public static native VoidPointer pthread_getspecific(pthread_key_t key);
+ public static class NoTransition {
+ @CFunction(transition = Transition.NO_TRANSITION)
+ public static native int pthread_exit(VoidPointer retval);
+ }
}
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ClientHandle.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/ClientHandle.java
similarity index 96%
rename from substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ClientHandle.java
rename to substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/ClientHandle.java
index 276d0c0e5ea3..e45beb8bb177 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ClientHandle.java
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/ClientHandle.java
@@ -22,7 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.oracle.svm.graal.isolated;
+package com.oracle.svm.core.graal.isolated;
/**
* A handle to an object of type T that exists in the {@linkplain ClientIsolateThread compilation
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ClientIsolateThread.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/ClientIsolateThread.java
similarity index 97%
rename from substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ClientIsolateThread.java
rename to substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/ClientIsolateThread.java
index 280325739895..99da1da76e8e 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ClientIsolateThread.java
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/ClientIsolateThread.java
@@ -22,7 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.oracle.svm.graal.isolated;
+package com.oracle.svm.core.graal.isolated;
import org.graalvm.nativeimage.IsolateThread;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CompilerHandle.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/CompilerHandle.java
similarity index 96%
rename from substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CompilerHandle.java
rename to substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/CompilerHandle.java
index 9260899ada77..dc1405f4dffb 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CompilerHandle.java
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/CompilerHandle.java
@@ -22,7 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.oracle.svm.graal.isolated;
+package com.oracle.svm.core.graal.isolated;
/**
* A handle to an object of type T that exists in the {@linkplain CompilerIsolateThread compilation
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CompilerIsolateThread.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/CompilerIsolateThread.java
similarity index 97%
rename from substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CompilerIsolateThread.java
rename to substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/CompilerIsolateThread.java
index 92ae1a5b77d0..13fe6ac9182c 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CompilerIsolateThread.java
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/CompilerIsolateThread.java
@@ -22,7 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.oracle.svm.graal.isolated;
+package com.oracle.svm.core.graal.isolated;
import org.graalvm.nativeimage.IsolateThread;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompilationExceptionDispatch.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompilationExceptionDispatch.java
similarity index 95%
rename from substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompilationExceptionDispatch.java
rename to substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompilationExceptionDispatch.java
index 210fa9124172..600403a095a0 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompilationExceptionDispatch.java
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompilationExceptionDispatch.java
@@ -22,7 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.oracle.svm.graal.isolated;
+package com.oracle.svm.core.graal.isolated;
import java.io.ByteArrayOutputStream;
import java.io.PrintWriter;
@@ -37,8 +37,6 @@
import com.oracle.svm.core.c.function.CEntryPointOptions;
import com.oracle.svm.core.threadlocal.FastThreadLocalFactory;
import com.oracle.svm.core.threadlocal.FastThreadLocalObject;
-import com.oracle.svm.hosted.code.CEntryPointCallStubMethod;
-import com.oracle.svm.hosted.code.CEntryPointJavaCallStubMethod;
import jdk.graal.compiler.core.common.GraalBailoutException;
@@ -83,13 +81,13 @@ protected static void throwPendingException() {
* entry point.
*
* Note that the caller isolate cannot have called from uninterruptible code because
- * {@link CEntryPointJavaCallStubMethod} does thread state transitions that require a safepoint
+ * {@code CEntryPointJavaCallStubMethod} does thread state transitions that require a safepoint
* check, so this method calling it back to dispatch the exception in interruptible code is
* considered acceptable.
*
* Our (callee) entry point might intend to execute only uninterruptible code save for this
* exception handler, but as of writing this, isolated compilation nowhere requires relying on
- * that and {@link CEntryPointCallStubMethod} also does state transitions and safepoint checks.
+ * that and {@code CEntryPointCallStubMethod} also does state transitions and safepoint checks.
*
* Also note that an exception's stack trace contains all its isolate's frames up until the last
* entry frame, but not another isolate's frames in between. When an exception is propagated
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompileClient.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompileClient.java
similarity index 95%
rename from substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompileClient.java
rename to substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompileClient.java
index e82b9d16e34b..9421c27090e2 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompileClient.java
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompileClient.java
@@ -22,7 +22,9 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.oracle.svm.graal.isolated;
+package com.oracle.svm.core.graal.isolated;
+
+import static com.oracle.svm.core.Uninterruptible.CALLED_FROM_UNINTERRUPTIBLE_CODE;
import org.graalvm.nativeimage.IsolateThread;
import org.graalvm.nativeimage.ObjectHandle;
@@ -102,6 +104,7 @@ public IsolatedCompileClient(CompilerIsolateThread compiler) {
this.compiler = compiler;
}
+ @Uninterruptible(reason = CALLED_FROM_UNINTERRUPTIBLE_CODE, mayBeInlined = true)
public CompilerIsolateThread getCompiler() {
return compiler;
}
@@ -113,7 +116,7 @@ protected IsolateThread getOtherIsolate() {
}
@Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
- ThreadLocalHandles getHandleSet() {
+ public ThreadLocalHandles getHandleSet() {
return handles;
}
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompileContext.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompileContext.java
similarity index 97%
rename from substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompileContext.java
rename to substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompileContext.java
index a17704d7c63b..66cc60ce9afc 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompileContext.java
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedCompileContext.java
@@ -22,7 +22,9 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.oracle.svm.graal.isolated;
+package com.oracle.svm.core.graal.isolated;
+
+import static com.oracle.svm.core.Uninterruptible.CALLED_FROM_UNINTERRUPTIBLE_CODE;
import org.graalvm.nativeimage.IsolateThread;
import org.graalvm.nativeimage.ObjectHandle;
@@ -116,6 +118,7 @@ public IsolatedCompileContext(ClientIsolateThread clientIsolate) {
this.client = clientIsolate;
}
+ @Uninterruptible(reason = CALLED_FROM_UNINTERRUPTIBLE_CODE, mayBeInlined = true)
public ClientIsolateThread getClient() {
return client;
}
diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedHandle.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedHandle.java
new file mode 100644
index 000000000000..791fee4331d0
--- /dev/null
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/graal/isolated/IsolatedHandle.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2019, 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.core.graal.isolated;
+
+import org.graalvm.nativeimage.ObjectHandle;
+
+/**
+ * An object handle for isolated compilation with added static type information.
+ *
+ * @param The type of the object referenced by the handle.
+ */
+public interface IsolatedHandle extends ObjectHandle {
+}
diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/VMThreads.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/VMThreads.java
index 0abc693282a8..7af33506d02c 100644
--- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/VMThreads.java
+++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/VMThreads.java
@@ -39,12 +39,15 @@
import org.graalvm.word.UnsignedWord;
import com.oracle.svm.core.NeverInline;
+import com.oracle.svm.core.SubstrateOptions;
import com.oracle.svm.core.Uninterruptible;
import com.oracle.svm.core.c.function.CEntryPointErrors;
import com.oracle.svm.core.c.function.CFunctionOptions;
import com.oracle.svm.core.config.ConfigurationValues;
import com.oracle.svm.core.feature.AutomaticallyRegisteredFeature;
import com.oracle.svm.core.feature.InternalFeature;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.heap.Heap;
import com.oracle.svm.core.heap.VMOperationInfos;
import com.oracle.svm.core.imagelayer.ImageLayerBuildingSupport;
@@ -1016,7 +1019,23 @@ public static void preventSafepoints() {
*/
@Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
public static void markThreadAsCrashed() {
- // It would be nice if we could retire the TLAB here but that wouldn't work reliably.
+ if (SubstrateOptions.supportCompileInIsolates()) {
+ /*
+ * Threads that are used for isolated compilation may be attached to both the main
+ * and a compilation isolate. So, mark it as crashed in both isolates.
+ */
+ IsolatedCompileContext compileContext = IsolatedCompileContext.get();
+ if (compileContext != null) {
+ safepointBehaviorTL.setVolatile(compileContext.getClient(), THREAD_CRASHED);
+ }
+
+ IsolatedCompileClient compileClient = IsolatedCompileClient.get();
+ if (compileClient != null) {
+ safepointBehaviorTL.setVolatile(compileClient.getCompiler(), THREAD_CRASHED);
+ }
+ }
+
+ /* It would be nice if we could retire the TLAB here but that wouldn't work reliably. */
safepointBehaviorTL.setVolatile(THREAD_CRASHED);
}
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CodeInstallInfo.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CodeInstallInfo.java
index ca0bd963d50c..4a056b15c930 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CodeInstallInfo.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/CodeInstallInfo.java
@@ -24,12 +24,14 @@
*/
package com.oracle.svm.graal.isolated;
-import jdk.graal.compiler.core.common.CompilationIdentifier;
import org.graalvm.nativeimage.c.struct.RawField;
import org.graalvm.nativeimage.c.struct.RawStructure;
import org.graalvm.word.PointerBase;
import com.oracle.svm.core.code.CodeInfo;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+
+import jdk.graal.compiler.core.common.CompilationIdentifier;
/** The data that is required for installing compiled code in a different isolate. */
@RawStructure
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ConstantData.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ConstantData.java
index 271f5de94bb5..0b7d272d81f7 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ConstantData.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/ConstantData.java
@@ -24,17 +24,19 @@
*/
package com.oracle.svm.graal.isolated;
-import jdk.graal.compiler.word.Word;
import org.graalvm.nativeimage.c.struct.RawField;
import org.graalvm.nativeimage.c.struct.RawStructure;
import org.graalvm.word.PointerBase;
import org.graalvm.word.WordBase;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
import com.oracle.svm.core.meta.DirectSubstrateObjectConstant;
import com.oracle.svm.core.meta.SubstrateObjectConstant;
import com.oracle.svm.core.util.VMError;
import com.oracle.svm.graal.meta.SubstrateMemoryAccessProviderImpl;
+import jdk.graal.compiler.word.Word;
import jdk.vm.ci.meta.Constant;
import jdk.vm.ci.meta.JavaConstant;
import jdk.vm.ci.meta.JavaKind;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareCodeCacheProvider.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareCodeCacheProvider.java
index 861b7ce79b8a..1efe53af9bbe 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareCodeCacheProvider.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareCodeCacheProvider.java
@@ -24,16 +24,16 @@
*/
package com.oracle.svm.graal.isolated;
-import jdk.graal.compiler.code.CompilationResult;
-
import com.oracle.svm.core.SubstrateOptions;
import com.oracle.svm.core.deopt.SubstrateInstalledCode;
import com.oracle.svm.core.graal.code.SubstrateCompiledCode;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
import com.oracle.svm.core.graal.meta.SharedRuntimeMethod;
import com.oracle.svm.core.util.VMError;
import com.oracle.svm.graal.meta.SubstrateCodeCacheProvider;
import com.oracle.svm.graal.meta.SubstrateMethod;
+import jdk.graal.compiler.code.CompilationResult;
import jdk.graal.compiler.debug.DebugContext;
import jdk.vm.ci.code.CompiledCode;
import jdk.vm.ci.code.InstalledCode;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareConstantReflectionProvider.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareConstantReflectionProvider.java
index eb3e6bc361a2..948b5a8a2401 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareConstantReflectionProvider.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareConstantReflectionProvider.java
@@ -31,6 +31,10 @@
import com.oracle.svm.core.SubstrateOptions;
import com.oracle.svm.core.c.function.CEntryPointOptions;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.graal.meta.SubstrateMemoryAccessProvider;
import com.oracle.svm.core.hub.DynamicHub;
import com.oracle.svm.core.meta.SubstrateObjectConstant;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareMetaAccess.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareMetaAccess.java
index 143082aeab6b..fffe011a1ab3 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareMetaAccess.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareMetaAccess.java
@@ -26,6 +26,7 @@
import com.oracle.svm.core.SubstrateOptions;
import com.oracle.svm.core.deopt.SubstrateSpeculationLog.SubstrateSpeculation;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
import com.oracle.svm.core.meta.DirectSubstrateObjectConstant;
import com.oracle.svm.core.meta.SubstrateObjectConstant;
import com.oracle.svm.graal.meta.SubstrateMetaAccess;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareObjectConstantEqualityFeature.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareObjectConstantEqualityFeature.java
index e22260d6193e..556eef27b11c 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareObjectConstantEqualityFeature.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolateAwareObjectConstantEqualityFeature.java
@@ -32,6 +32,10 @@
import com.oracle.svm.core.feature.AutomaticallyRegisteredFeature;
import com.oracle.svm.core.feature.InternalFeature;
import com.oracle.svm.core.graal.RuntimeCompilation;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.meta.DirectSubstrateObjectConstant;
import com.oracle.svm.core.meta.ObjectConstantEquality;
import com.oracle.svm.core.meta.SubstrateObjectConstant;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCodeInstallBridge.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCodeInstallBridge.java
index 80bb5e09e886..a30b0e471197 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCodeInstallBridge.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCodeInstallBridge.java
@@ -24,21 +24,28 @@
*/
package com.oracle.svm.graal.isolated;
+import org.graalvm.nativeimage.c.function.CEntryPoint;
+import org.graalvm.nativeimage.c.function.CodePointer;
+import org.graalvm.nativeimage.c.type.CTypeConversion;
+
import com.oracle.svm.core.Uninterruptible;
import com.oracle.svm.core.code.CodeInfo;
import com.oracle.svm.core.code.CodeInfoAccess;
import com.oracle.svm.core.code.CodeInfoTable;
import com.oracle.svm.core.code.UntetheredCodeInfo;
import com.oracle.svm.core.deopt.SubstrateInstalledCode;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.CompilerIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.util.VMError;
import com.oracle.truffle.compiler.OptimizedAssumptionDependency;
import com.oracle.truffle.compiler.TruffleCompilable;
import jdk.graal.compiler.word.Word;
import jdk.vm.ci.code.InstalledCode;
-import org.graalvm.nativeimage.c.function.CEntryPoint;
-import org.graalvm.nativeimage.c.function.CodePointer;
-import org.graalvm.nativeimage.c.type.CTypeConversion;
/**
* A helper to pass information for installing code in the compilation client through a Truffle
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompilationMethod.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompilationMethod.java
index 03cd7bfa7418..501d628ea3ea 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompilationMethod.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedCompilationMethod.java
@@ -25,6 +25,7 @@
package com.oracle.svm.graal.isolated;
import com.oracle.svm.core.Uninterruptible;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
import com.oracle.svm.core.graal.meta.SharedRuntimeMethod;
/** Method object in the compiler isolate with an equivalent method object in the client isolate. */
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedGraalUtils.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedGraalUtils.java
index 03372b525771..9ef81d71e38e 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedGraalUtils.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedGraalUtils.java
@@ -27,7 +27,6 @@
import java.lang.reflect.Array;
import java.nio.ByteBuffer;
-import com.oracle.svm.core.SubstrateSegfaultHandler;
import org.graalvm.collections.EconomicMap;
import org.graalvm.nativeimage.CurrentIsolate;
import org.graalvm.nativeimage.Isolates;
@@ -40,9 +39,15 @@
import org.graalvm.word.WordBase;
import com.oracle.svm.core.SubstrateOptions;
+import com.oracle.svm.core.SubstrateSegfaultHandler;
import com.oracle.svm.core.c.function.CEntryPointOptions;
import com.oracle.svm.core.c.function.IsolateSupportImpl;
import com.oracle.svm.core.deopt.SubstrateInstalledCode;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.graal.meta.RuntimeConfiguration;
import com.oracle.svm.core.handles.PrimitiveArrayView;
import com.oracle.svm.core.log.Log;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedHandles.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedHandles.java
index 4ea94a765914..283e080936eb 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedHandles.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedHandles.java
@@ -24,9 +24,8 @@
*/
package com.oracle.svm.graal.isolated;
-import org.graalvm.nativeimage.ObjectHandle;
-
import com.oracle.svm.core.Uninterruptible;
+import com.oracle.svm.core.graal.isolated.IsolatedHandle;
import com.oracle.svm.core.handles.ThreadLocalHandles;
public final class IsolatedHandles {
@@ -39,11 +38,3 @@ public static > H nullHandle() {
private IsolatedHandles() {
}
}
-
-/**
- * An object handle for isolated compilation with added static type information.
- *
- * @param The type of the object referenced by the handle.
- */
-interface IsolatedHandle extends ObjectHandle {
-}
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedMirroredObject.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedMirroredObject.java
index 894595e542c8..ef7bcd551d08 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedMirroredObject.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedMirroredObject.java
@@ -25,6 +25,7 @@
package com.oracle.svm.graal.isolated;
import com.oracle.svm.core.Uninterruptible;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
/** An object in the compiler isolate that has an equivalent in the client isolate. */
interface IsolatedMirroredObject {
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedObjectConstant.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedObjectConstant.java
index 023fee5bb880..c0ea26cb3fde 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedObjectConstant.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedObjectConstant.java
@@ -28,6 +28,10 @@
import com.oracle.svm.core.Uninterruptible;
import com.oracle.svm.core.c.function.CEntryPointOptions;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.meta.SubstrateObjectConstant;
import jdk.vm.ci.meta.MetaAccessProvider;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedObjectProxy.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedObjectProxy.java
index befdf3a1c0c6..486affc75900 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedObjectProxy.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedObjectProxy.java
@@ -27,6 +27,11 @@
import org.graalvm.nativeimage.c.function.CEntryPoint;
import com.oracle.svm.core.c.function.CEntryPointOptions;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
/** Base class for objects that act as a proxy for objects in the compilation client's isolate. */
public abstract class IsolatedObjectProxy {
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedReferenceAdjuster.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedReferenceAdjuster.java
index 793471fa7bba..fadc2c646748 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedReferenceAdjuster.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedReferenceAdjuster.java
@@ -24,7 +24,6 @@
*/
package com.oracle.svm.graal.isolated;
-import jdk.graal.compiler.word.Word;
import org.graalvm.nativeimage.ObjectHandle;
import org.graalvm.nativeimage.c.struct.SizeOf;
import org.graalvm.word.Pointer;
@@ -36,12 +35,14 @@
import com.oracle.svm.core.c.NonmovableObjectArray;
import com.oracle.svm.core.code.ReferenceAdjuster;
import com.oracle.svm.core.config.ConfigurationValues;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
import com.oracle.svm.core.handles.ThreadLocalHandles;
import com.oracle.svm.core.memory.NativeMemory;
import com.oracle.svm.core.meta.DirectSubstrateObjectConstant;
import com.oracle.svm.core.nmt.NmtCategory;
import com.oracle.svm.core.util.VMError;
+import jdk.graal.compiler.word.Word;
import jdk.vm.ci.meta.JavaConstant;
/**
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedRuntimeCodeInstaller.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedRuntimeCodeInstaller.java
index fac5c8ad736f..f6095efb370e 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedRuntimeCodeInstaller.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedRuntimeCodeInstaller.java
@@ -35,6 +35,10 @@
import com.oracle.svm.core.code.CodeInfo;
import com.oracle.svm.core.code.RuntimeCodeInfoAccess;
import com.oracle.svm.core.deopt.SubstrateInstalledCode;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.graal.meta.SharedRuntimeMethod;
import com.oracle.svm.core.memory.NativeMemory;
import com.oracle.svm.core.meta.SharedMethod;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedSpeculationLog.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedSpeculationLog.java
index 08fe3054b505..36546d40b2b0 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedSpeculationLog.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedSpeculationLog.java
@@ -33,6 +33,10 @@
import com.oracle.svm.core.c.function.CEntryPointOptions;
import com.oracle.svm.core.deopt.SubstrateSpeculationLog.SubstrateSpeculation;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.handles.PrimitiveArrayView;
import com.oracle.svm.core.util.VMError;
diff --git a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedSpeculationReason.java b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedSpeculationReason.java
index f764f1c0a295..ec7bf78402e4 100644
--- a/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedSpeculationReason.java
+++ b/substratevm/src/com.oracle.svm.graal/src/com/oracle/svm/graal/isolated/IsolatedSpeculationReason.java
@@ -24,6 +24,8 @@
*/
package com.oracle.svm.graal.isolated;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+
import jdk.vm.ci.meta.SpeculationLog.SpeculationReason;
public final class IsolatedSpeculationReason extends IsolatedObjectProxy implements SpeculationReason {
diff --git a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler.java b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler.java
index 8f356c887ae4..f9de937e81f9 100644
--- a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler.java
+++ b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolateAwareTruffleCompiler.java
@@ -40,15 +40,15 @@
import com.oracle.svm.core.SubstrateOptions;
import com.oracle.svm.core.c.function.CEntryPointOptions;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.heap.Heap;
import com.oracle.svm.core.jdk.UninterruptibleUtils;
-import com.oracle.svm.graal.isolated.ClientHandle;
-import com.oracle.svm.graal.isolated.ClientIsolateThread;
-import com.oracle.svm.graal.isolated.CompilerIsolateThread;
import com.oracle.svm.graal.isolated.ImageHeapObjects;
import com.oracle.svm.graal.isolated.ImageHeapRef;
-import com.oracle.svm.graal.isolated.IsolatedCompileClient;
-import com.oracle.svm.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.graal.isolated.IsolatedGraalUtils;
import com.oracle.svm.graal.isolated.IsolatedHandles;
import com.oracle.svm.truffle.api.SubstrateCompilableTruffleAST;
diff --git a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedCompilableTruffleAST.java b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedCompilableTruffleAST.java
index c423d33397e6..d781e09c50c2 100644
--- a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedCompilableTruffleAST.java
+++ b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedCompilableTruffleAST.java
@@ -34,14 +34,14 @@
import com.oracle.svm.core.c.function.CEntryPointOptions;
import com.oracle.svm.core.deopt.SubstrateInstalledCode;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.CompilerIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.util.VMError;
-import com.oracle.svm.graal.isolated.ClientHandle;
-import com.oracle.svm.graal.isolated.ClientIsolateThread;
-import com.oracle.svm.graal.isolated.CompilerHandle;
-import com.oracle.svm.graal.isolated.CompilerIsolateThread;
import com.oracle.svm.graal.isolated.IsolatedCodeInstallBridge;
-import com.oracle.svm.graal.isolated.IsolatedCompileClient;
-import com.oracle.svm.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.graal.isolated.IsolatedHandles;
import com.oracle.svm.graal.isolated.IsolatedObjectConstant;
import com.oracle.svm.graal.isolated.IsolatedObjectProxy;
diff --git a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedStringSupplier.java b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedStringSupplier.java
index ffeca47b3e10..543322a3c446 100644
--- a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedStringSupplier.java
+++ b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedStringSupplier.java
@@ -29,11 +29,11 @@
import org.graalvm.nativeimage.c.function.CEntryPoint;
import com.oracle.svm.core.c.function.CEntryPointOptions;
-import com.oracle.svm.graal.isolated.ClientHandle;
-import com.oracle.svm.graal.isolated.CompilerHandle;
-import com.oracle.svm.graal.isolated.CompilerIsolateThread;
-import com.oracle.svm.graal.isolated.IsolatedCompileClient;
-import com.oracle.svm.graal.isolated.IsolatedCompileContext;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.CompilerIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
final class IsolatedStringSupplier implements Supplier {
diff --git a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilationIdentifier.java b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilationIdentifier.java
index 1ffe2efc9691..b05585a92ee6 100644
--- a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilationIdentifier.java
+++ b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilationIdentifier.java
@@ -27,11 +27,11 @@
import org.graalvm.nativeimage.c.function.CEntryPoint;
import com.oracle.svm.core.c.function.CEntryPointOptions;
-import com.oracle.svm.graal.isolated.ClientHandle;
-import com.oracle.svm.graal.isolated.ClientIsolateThread;
-import com.oracle.svm.graal.isolated.CompilerHandle;
-import com.oracle.svm.graal.isolated.IsolatedCompileClient;
-import com.oracle.svm.graal.isolated.IsolatedCompileContext;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.graal.isolated.IsolatedObjectProxy;
import com.oracle.truffle.compiler.TruffleCompilable;
import com.oracle.truffle.compiler.TruffleCompilationTask;
diff --git a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilationTask.java b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilationTask.java
index 4f5d2c4b8cab..2b855c21512c 100644
--- a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilationTask.java
+++ b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilationTask.java
@@ -33,13 +33,13 @@
import org.graalvm.nativeimage.c.type.CTypeConversion;
import com.oracle.svm.core.c.function.CEntryPointOptions;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.CompilerIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.meta.SubstrateObjectConstant;
-import com.oracle.svm.graal.isolated.ClientHandle;
-import com.oracle.svm.graal.isolated.ClientIsolateThread;
-import com.oracle.svm.graal.isolated.CompilerHandle;
-import com.oracle.svm.graal.isolated.CompilerIsolateThread;
-import com.oracle.svm.graal.isolated.IsolatedCompileClient;
-import com.oracle.svm.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.graal.isolated.IsolatedHandles;
import com.oracle.svm.graal.isolated.IsolatedObjectConstant;
import com.oracle.svm.graal.isolated.IsolatedObjectProxy;
diff --git a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilerEventForwarder.java b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilerEventForwarder.java
index 76c700c2bb23..e07504361266 100644
--- a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilerEventForwarder.java
+++ b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleCompilerEventForwarder.java
@@ -36,12 +36,12 @@
import org.graalvm.word.PointerBase;
import com.oracle.svm.core.c.function.CEntryPointOptions;
-import com.oracle.svm.graal.isolated.ClientHandle;
-import com.oracle.svm.graal.isolated.ClientIsolateThread;
-import com.oracle.svm.graal.isolated.CompilerHandle;
-import com.oracle.svm.graal.isolated.CompilerIsolateThread;
-import com.oracle.svm.graal.isolated.IsolatedCompileClient;
-import com.oracle.svm.graal.isolated.IsolatedCompileContext;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.CompilerIsolateThread;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.graal.isolated.IsolatedHandles;
import com.oracle.truffle.compiler.TruffleCompilable;
import com.oracle.truffle.compiler.TruffleCompilationTask;
diff --git a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleRuntimeSupport.java b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleRuntimeSupport.java
index e9f63f1bdc02..0c3e5f802556 100644
--- a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleRuntimeSupport.java
+++ b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleRuntimeSupport.java
@@ -31,15 +31,15 @@
import com.oracle.svm.core.c.function.CEntryPointOptions;
import com.oracle.svm.core.deopt.SubstrateInstalledCode;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.meta.SubstrateObjectConstant;
-import com.oracle.svm.graal.isolated.ClientHandle;
-import com.oracle.svm.graal.isolated.ClientIsolateThread;
-import com.oracle.svm.graal.isolated.CompilerHandle;
import com.oracle.svm.graal.isolated.ImageHeapObjects;
import com.oracle.svm.graal.isolated.ImageHeapRef;
import com.oracle.svm.graal.isolated.IsolatedCodeInstallBridge;
-import com.oracle.svm.graal.isolated.IsolatedCompileClient;
-import com.oracle.svm.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.graal.isolated.IsolatedHandles;
import com.oracle.svm.graal.isolated.IsolatedObjectConstant;
import com.oracle.svm.truffle.api.SubstrateCompilableTruffleAST;
diff --git a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleSourceLanguagePosition.java b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleSourceLanguagePosition.java
index 050b37378653..7a01eaa22da1 100644
--- a/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleSourceLanguagePosition.java
+++ b/substratevm/src/com.oracle.svm.truffle/src/com/oracle/svm/truffle/isolated/IsolatedTruffleSourceLanguagePosition.java
@@ -30,12 +30,12 @@
import org.graalvm.nativeimage.c.function.CEntryPoint;
import com.oracle.svm.core.c.function.CEntryPointOptions;
+import com.oracle.svm.core.graal.isolated.ClientHandle;
+import com.oracle.svm.core.graal.isolated.ClientIsolateThread;
+import com.oracle.svm.core.graal.isolated.CompilerHandle;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileClient;
+import com.oracle.svm.core.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.core.util.VMError;
-import com.oracle.svm.graal.isolated.ClientHandle;
-import com.oracle.svm.graal.isolated.ClientIsolateThread;
-import com.oracle.svm.graal.isolated.CompilerHandle;
-import com.oracle.svm.graal.isolated.IsolatedCompileClient;
-import com.oracle.svm.graal.isolated.IsolatedCompileContext;
import com.oracle.svm.graal.isolated.IsolatedHandles;
import com.oracle.svm.graal.isolated.IsolatedObjectProxy;
import com.oracle.truffle.compiler.TruffleSourceLanguagePosition;