diff --git a/patches/server/0005-Enable-virtual-threads-for-development-runs.patch b/patches/server/0005-Enable-preview-features-for-development-runs.patch similarity index 55% rename from patches/server/0005-Enable-virtual-threads-for-development-runs.patch rename to patches/server/0005-Enable-preview-features-for-development-runs.patch index 05b70cf..07343d6 100644 --- a/patches/server/0005-Enable-virtual-threads-for-development-runs.patch +++ b/patches/server/0005-Enable-preview-features-for-development-runs.patch @@ -1,23 +1,20 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martijn Muijsers Date: Mon, 13 Feb 2023 21:18:44 +0100 -Subject: [PATCH] Enable virtual threads for development runs +Subject: [PATCH] Enable preview features for development runs License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/build.gradle.kts b/build.gradle.kts -index 03494958857b254705b1445e1a695e71f88474f7..690ce70b6869f340da001d2f844b36bcca72c002 100644 +index c64da95d9374ab00cfd75ead02e88e187e8fc5fc..123c2c1bdc4ba5b887910bc613a43bc60be1c99e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -198,6 +198,10 @@ fun TaskContainer.registerRunTask( +@@ -198,6 +198,7 @@ fun TaskContainer.registerRunTask( val memoryGb = providers.gradleProperty("paper.runMemoryGb").getOrElse("2") minHeapSize = "${memoryGb}G" maxHeapSize = "${memoryGb}G" -+ // Gale start - enable virtual threads for development runs -+ jvmArgs("--enable-preview") -+ jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED") -+ // Gale end - enable virtual threads for development runs ++ jvmArgs("--enable-preview") // Gale - enable preview features for development runs doFirst { workingDir.mkdirs() diff --git a/patches/server/0008-Gale-semantic-version.patch b/patches/server/0008-Gale-semantic-version.patch index 59f6eee..c6e9eba 100644 --- a/patches/server/0008-Gale-semantic-version.patch +++ b/patches/server/0008-Gale-semantic-version.patch @@ -29,7 +29,7 @@ index d10c024a7a5c3dd78e624526974d6c6ca2c0fbfb..432731a10443cd7ee62f79693b27e975 } diff --git a/src/main/java/org/galemc/gale/version/GaleSemanticVersion.java b/src/main/java/org/galemc/gale/version/GaleSemanticVersion.java new file mode 100644 -index 0000000000000000000000000000000000000000..7da3bdd5a341cc6ce2045feaf1d85164fdd2e62b +index 0000000000000000000000000000000000000000..e7ff81841798adf75931b0198c3f69f8680cfc81 --- /dev/null +++ b/src/main/java/org/galemc/gale/version/GaleSemanticVersion.java @@ -0,0 +1,37 @@ @@ -57,7 +57,7 @@ index 0000000000000000000000000000000000000000..7da3bdd5a341cc6ce2045feaf1d85164 + * The patch version is incremented for small changes that do not affect the goal of any feature, + * such as bug fixes, performance improvements or changes in wording. + */ -+ public static final @NotNull String version = "0.5.2"; ++ public static final @NotNull String version = "0.5.3"; + + /** + * The "major.minor" portion of the {@link #version}. diff --git a/patches/server/0046-SIMD-support.patch b/patches/server/0046-SIMD-support.patch index 055ec2a..23d473c 100644 --- a/patches/server/0046-SIMD-support.patch +++ b/patches/server/0046-SIMD-support.patch @@ -13,7 +13,7 @@ As part of: Pufferfish (https://github.com/pufferfish-gg/Pufferfish) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/build.gradle.kts b/build.gradle.kts -index 6827ccd77dbba737b80bd14456c54fc54f8058f2..5b0693899daede245b43e9e9039cd1d05b9b5849 100644 +index 50bb7e538c7493e52b2d1356ef6c89194efa593a..a0237112353240d9c8d0dc733f9176fd7e95f007 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -73,6 +73,7 @@ tasks.withType { @@ -24,10 +24,10 @@ index 6827ccd77dbba737b80bd14456c54fc54f8058f2..5b0693899daede245b43e9e9039cd1d0 } // Gale end - hide irrelevant compilation warnings -@@ -202,6 +203,7 @@ fun TaskContainer.registerRunTask( - jvmArgs("--enable-preview") - jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED") - // Gale end - enable virtual threads for development runs +@@ -199,6 +200,7 @@ fun TaskContainer.registerRunTask( + minHeapSize = "${memoryGb}G" + maxHeapSize = "${memoryGb}G" + jvmArgs("--enable-preview") // Gale - enable preview features for development runs + jvmArgs("--add-modules=jdk.incubator.vector") // Gale - Pufferfish - SIMD support doFirst { diff --git a/patches/server/0145-Virtual-thread-support.patch b/patches/server/0145-Virtual-thread-support.patch index ebaf55b..82d5238 100644 --- a/patches/server/0145-Virtual-thread-support.patch +++ b/patches/server/0145-Virtual-thread-support.patch @@ -1,6 +1,6 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martijn Muijsers -Date: Wed, 9 Aug 2023 15:04:56 +0200 +Date: Wed, 9 Aug 2023 19:12:50 +0200 Subject: [PATCH] Virtual thread support License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html) @@ -91,10 +91,10 @@ index 0000000000000000000000000000000000000000..12eca4b93797b7f50f333d6cdd93e38b +} diff --git a/src/main/java/org/galemc/gale/virtualthread/ReflectionVirtualThreadService.java b/src/main/java/org/galemc/gale/virtualthread/ReflectionVirtualThreadService.java new file mode 100644 -index 0000000000000000000000000000000000000000..07462c644c49dd071e9d43d953b1870199f1c8ce +index 0000000000000000000000000000000000000000..5aad41cf610f16317ef94e1ff1e385c6eb5ee8f2 --- /dev/null +++ b/src/main/java/org/galemc/gale/virtualthread/ReflectionVirtualThreadService.java -@@ -0,0 +1,79 @@ +@@ -0,0 +1,76 @@ +// Gale - virtual thread support + +package org.galemc.gale.virtualthread; @@ -129,13 +129,10 @@ index 0000000000000000000000000000000000000000..07462c644c49dd071e9d43d953b18701 + + private ReflectionVirtualThreadService() throws Throwable { + this.Thread_ofVirtual_method = Objects.requireNonNull(Thread.class.getMethod("ofVirtual")); -+ this.Thread_ofVirtual_method.setAccessible(true); + // The Thread.Builder class -+ var Thread_Builder_class = Objects.requireNonNull(this.Thread_ofVirtual_method.invoke(null).getClass()); ++ var Thread_Builder_class = Objects.requireNonNull(Class.forName("java.lang.Thread$Builder")); + this.Thread_Builder_factory_method = Objects.requireNonNull(Thread_Builder_class.getMethod("factory")); -+ this.Thread_Builder_factory_method.setAccessible(true); + this.Thread_Builder_start_method = Objects.requireNonNull(Thread_Builder_class.getMethod("start", Runnable.class)); -+ this.Thread_Builder_start_method.setAccessible(true); + } + + @Override