Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion compiler/mx.compiler/suite.py
Original file line number Diff line number Diff line change
Expand Up @@ -557,8 +557,8 @@
org.graalvm.nativeimage.foreign,
org.graalvm.nativeimage.llvm,
com.oracle.svm.svm_enterprise,
com.oracle.svm.jdwp.resident,
com.oracle.svm_enterprise.ml_dataset,
com.oracle.svm.enterprise.jdwp.resident,
org.graalvm.nativeimage.base,
org.graalvm.extraimage.builder,
org.graalvm.extraimage.librarysupport,
Expand Down
36 changes: 36 additions & 0 deletions substratevm/mx.substratevm/mx_substratevm.py
Original file line number Diff line number Diff line change
Expand Up @@ -1626,6 +1626,42 @@ def prevent_build_path_in_libgraal():
)
mx_sdk_vm.register_graalvm_component(libgraal)

libsvmjdwp_build_args = [
"-H:+UnlockExperimentalVMOptions",
"-H:+IncludeDebugHelperMethods",
"-H:-DeleteLocalSymbols",
"-H:+PreserveFramePointer",
]

libsvmjdwp_lib_config = mx_sdk_vm.LibraryConfig(
destination="<lib:svmjdwp>",
jvm_library=True,
use_modules='image',
jar_distributions=['substratevm:SVM_JDWP_SERVER'],
build_args=libsvmjdwp_build_args + [
'--features=com.oracle.svm.jdwp.server.ServerJDWPFeature',
],
headers=False,
)

libsvmjdwp = mx_sdk_vm.GraalVmJreComponent(
suite=suite,
name='SubstrateVM JDWP Debugger',
short_name='svmjdwp',
dir_name="svm",
license_files=[],
third_party_license_files=[],
dependencies=[],
jar_distributions=[],
builder_jar_distributions=['substratevm:SVM_JDWP_COMMON', 'substratevm:SVM_JDWP_RESIDENT'],
support_distributions=[],
priority=1,
library_configs=[libsvmjdwp_lib_config],
stability="experimental",
jlink=False,
)
mx_sdk_vm.register_graalvm_component(libsvmjdwp)

def _native_image_configure_extra_jvm_args():
packages = ['jdk.graal.compiler/jdk.graal.compiler.phases.common', 'jdk.internal.vm.ci/jdk.vm.ci.meta', 'jdk.internal.vm.ci/jdk.vm.ci.services', 'jdk.graal.compiler/jdk.graal.compiler.core.common.util']
args = ['--add-exports=' + packageName + '=ALL-UNNAMED' for packageName in packages]
Expand Down
180 changes: 175 additions & 5 deletions substratevm/mx.substratevm/suite.py
Original file line number Diff line number Diff line change
Expand Up @@ -1537,6 +1537,119 @@
"jacoco" : "exclude",
"graalCompilerSourceEdition": "ignore",
},

"com.oracle.svm.interpreter.metadata": {
"subDir": "src",
"sourceDirs": ["src"],
"dependencies": [
"substratevm:SVM"
],
"requiresConcealed" : {
"jdk.internal.vm.ci" : [
"jdk.vm.ci.meta",
],
},
"checkstyle": "com.oracle.svm.hosted",
"javaCompliance": "21+",
"workingSets": "SVM",
},

"com.oracle.svm.interpreter": {
"subDir": "src",
"sourceDirs": ["src"],
"dependencies": [
"com.oracle.svm.interpreter.metadata",
],
"requires" : [
"java.base"
],
"requiresConcealed" : {
"jdk.internal.vm.ci" : [
"jdk.vm.ci.meta",
"jdk.vm.ci.code",
],
"java.base" : [
"jdk.internal.misc", # Unsafe
],
},
"checkstyle": "com.oracle.svm.hosted",
"javaCompliance": "21+",
"annotationProcessors": [
"compiler:GRAAL_PROCESSOR",
"substratevm:SVM_PROCESSOR",
],
"workingSets": "SVM",
},

# Common project both jdwp.server and jdwp.resident.
"com.oracle.svm.jdwp.bridge": {
"subDir": "src",
"sourceDirs": ["src"],
"dependencies": [
"substratevm:SVM",
],
"requiresConcealed" : {
"jdk.internal.vm.ci" : [
"jdk.vm.ci.meta",
],
},
"checkstyle": "com.oracle.svm.hosted",
"javaCompliance": "21+",
"annotationProcessors": [
"compiler:GRAAL_PROCESSOR",
"substratevm:SVM_PROCESSOR",
],
"workingSets": "SVM",
},

# JDWP server, should run on HotSpot and as a shared library e.g. libsvmjdwp.so
"com.oracle.svm.jdwp.server": {
"subDir": "src",
"sourceDirs": ["src"],
"dependencies": [
"com.oracle.svm.interpreter.metadata",
"com.oracle.svm.jdwp.bridge",
],
"requiresConcealed" : {
"jdk.internal.vm.ci" : [
"jdk.vm.ci.meta",
],
"java.base" : [
"jdk.internal.misc", # Signal
],
},
"checkstyle": "com.oracle.svm.hosted",
"javaCompliance": "21+",
"annotationProcessors": [
"substratevm:SVM_PROCESSOR",
],
"workingSets": "SVM",
},

# JDWP implementation bits that are included in the application.
"com.oracle.svm.jdwp.resident": {
"subDir": "src",
"sourceDirs": ["src"],
"dependencies": [
"com.oracle.svm.interpreter",
"com.oracle.svm.jdwp.bridge",
],
"requiresConcealed" : {
"jdk.internal.vm.ci" : [
"jdk.vm.ci.meta",
"jdk.vm.ci.code",
],
"java.base" : [
"jdk.internal.misc", # Signal
],
},
"checkstyle": "com.oracle.svm.hosted",
"javaCompliance": "21+",
"annotationProcessors": [
"substratevm:SVM_PROCESSOR",
],
"workingSets": "SVM",
},
},

"distributions": {
Expand Down Expand Up @@ -1596,9 +1709,9 @@
org.graalvm.extraimage.librarysupport,
com.oracle.svm.extraimage_enterprise,
org.graalvm.nativeimage.foreign,
com.oracle.svm.enterprise.jdwp.common,
com.oracle.svm.enterprise.jdwp.server,
com.oracle.svm.enterprise.jdwp.resident,
com.oracle.svm.jdwp.common,
com.oracle.svm.jdwp.server,
com.oracle.svm.jdwp.resident,
org.graalvm.truffle.runtime.svm,
com.oracle.truffle.enterprise.svm""",
"com.oracle.svm.hosted.c.libc to com.oracle.graal.sandbox",
Expand All @@ -1611,7 +1724,7 @@
"com.oracle.svm.hosted.fieldfolding to jdk.graal.compiler",
"com.oracle.svm.hosted.phases to jdk.graal.compiler",
"com.oracle.svm.hosted.reflect to jdk.graal.compiler",
"com.oracle.svm.core.thread to com.oracle.svm.enterprise.jdwp.resident",
"com.oracle.svm.core.thread to com.oracle.svm.jdwp.resident",
],
"requires": [
"java.management",
Expand Down Expand Up @@ -2079,7 +2192,7 @@
"org.graalvm.collections",
],
"exports" : [
"com.oracle.svm.util to org.graalvm.nativeimage.pointsto,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.librarysupport,org.graalvm.nativeimage.driver,org.graalvm.nativeimage.llvm,org.graalvm.nativeimage.agent.jvmtibase,org.graalvm.nativeimage.agent.tracing,org.graalvm.nativeimage.agent.diagnostics,org.graalvm.nativeimage.junitsupport,com.oracle.svm.svm_enterprise,com.oracle.svm_enterprise.ml_dataset,com.oracle.svm.enterprise.jdwp.resident,org.graalvm.extraimage.builder,com.oracle.svm.extraimage_enterprise,org.graalvm.extraimage.librarysupport,org.graalvm.nativeimage.foreign,org.graalvm.truffle.runtime.svm,com.oracle.truffle.enterprise.svm",
"com.oracle.svm.util to org.graalvm.nativeimage.pointsto,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.librarysupport,org.graalvm.nativeimage.driver,org.graalvm.nativeimage.llvm,org.graalvm.nativeimage.agent.jvmtibase,org.graalvm.nativeimage.agent.tracing,org.graalvm.nativeimage.agent.diagnostics,org.graalvm.nativeimage.junitsupport,com.oracle.svm.svm_enterprise,com.oracle.svm_enterprise.ml_dataset,com.oracle.svm.jdwp.resident,org.graalvm.extraimage.builder,com.oracle.svm.extraimage_enterprise,org.graalvm.extraimage.librarysupport,org.graalvm.nativeimage.foreign,org.graalvm.truffle.runtime.svm,com.oracle.truffle.enterprise.svm",
"com.oracle.svm.common.meta to org.graalvm.nativeimage.pointsto,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.llvm,org.graalvm.extraimage.builder,org.graalvm.nativeimage.foreign,org.graalvm.truffle.runtime.svm,com.oracle.truffle.enterprise.svm",
"com.oracle.svm.common.option to org.graalvm.nativeimage.pointsto,org.graalvm.nativeimage.builder,org.graalvm.nativeimage.driver,org.graalvm.nativeimage.foreign,org.graalvm.truffle.runtime.svm,com.oracle.truffle.enterprise.svm",
],
Expand Down Expand Up @@ -2407,5 +2520,62 @@
"tag": ["default", "public"],
},
},

"SVM_JDWP_COMMON": {
"subDir": "src",
"dependencies": [
"com.oracle.svm.interpreter.metadata",
"com.oracle.svm.jdwp.bridge",
],
"distDependencies": [
"SVM",
],
"moduleInfo" : {
"name" : "com.oracle.svm.jdwp.common",
"exports" : [
"com.oracle.svm.jdwp.bridge to com.oracle.svm.jdwp.server,com.oracle.svm.jdwp.resident",
"com.oracle.svm.jdwp.bridge.nativebridge to com.oracle.svm.jdwp.server,com.oracle.svm.jdwp.resident",
"com.oracle.svm.jdwp.bridge.jniutils to com.oracle.svm.jdwp.server,com.oracle.svm.jdwp.resident",
"com.oracle.svm.interpreter.metadata to com.oracle.svm.jdwp.server,com.oracle.svm.jdwp.resident",
"com.oracle.svm.interpreter.metadata.serialization to com.oracle.svm.jdwp.server,com.oracle.svm.jdwp.resident",
],
"requires" : [
"org.graalvm.collections",
],
}
},

"SVM_JDWP_RESIDENT": {
"subDir": "src",
"dependencies": [
"com.oracle.svm.jdwp.resident",
],
"distDependencies": [
"SVM_JDWP_COMMON",
"sdk:COLLECTIONS",
"compiler:GRAAL",
],
"moduleInfo" : {
"name" : "com.oracle.svm.jdwp.resident",
"exports": [
"com.oracle.svm.interpreter,com.oracle.svm.jdwp.resident to org.graalvm.nativeimage.builder",
],
}
},

"SVM_JDWP_SERVER": {
"subDir": "src",
"dependencies": [
"com.oracle.svm.jdwp.server",
],
"distDependencies": [
"substratevm:SVM",
"SVM_JDWP_COMMON",
],
"moduleInfo" : {
"name" : "com.oracle.svm.jdwp.server",
}
},

},
}
Loading
Loading