mirror of
https://github.com/Dreeam-qwq/Gale.git
synced 2026-01-04 15:31:45 +00:00
Use virtual threads without reflection module opens
This commit is contained in:
@@ -1,23 +1,20 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martijn Muijsers <martijnmuijsers@live.nl>
|
||||
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()
|
||||
@@ -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 <code>patch</code> 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 "<code>major.minor</code>" portion of the {@link #version}.
|
||||
|
||||
@@ -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<JavaCompile> {
|
||||
@@ -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 {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Martijn Muijsers <martijnmuijsers@live.nl>
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user