Updated Upstream (Paper & Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@af94364 Fix slime spawners not spawning outside slime chunks (#7741)
PaperMC/Paper@6b9f7a0 Don't fire worldborder events for virtual borders (#7749)
PaperMC/Paper@8bfb1d2 Pass ServerLevel for gamerule callbacks (#7668)
PaperMC/Paper@c66b0f9 Add pre-unbreaking amount to PlayerItemDamageEvent (#7724)
PaperMC/Paper@86fb3d2 Don't send itemmeta for books with the hide option enabled (#7734)
PaperMC/Paper@c642d25 Improve update folder behavior (#7687)

Pufferfish Changes:
pufferfish-gg/Pufferfish@1bedb87 Updated Upstream (Paper)
pufferfish-gg/Pufferfish@952b720 Add additional SIMD debug info/fix messages
pufferfish-gg/Pufferfish@54099cf Put Java 18 in SIMD error messages
This commit is contained in:
BillyGalbreath
2022-04-18 12:41:35 -05:00
parent d4c11601c7
commit e973e3cbcc
12 changed files with 46 additions and 76 deletions

View File

@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kevin Raneri <kevin.raneri@gmail.com>
Date: Fri, 4 Mar 2022 05:03:15 -0500
Date: Wed, 3 Feb 2021 23:02:38 -0600
Subject: [PATCH] Pufferfish Server Changes
Pufferfish
@@ -629,10 +629,10 @@ index 0000000000000000000000000000000000000000..020368da69b9a492155f6de6297f7473
+}
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..56330536c52fa327ef89d7a08e72557c6633c8bb
index 0000000000000000000000000000000000000000..bd01a39767f65d959060b890afe7f9d8d426d70a
--- /dev/null
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
@@ -0,0 +1,291 @@
@@ -0,0 +1,293 @@
+package gg.pufferfish.pufferfish;
+
+import gg.pufferfish.pufferfish.simd.SIMDDetection;
@@ -726,16 +726,18 @@ index 0000000000000000000000000000000000000000..56330536c52fa327ef89d7a08e72557c
+ // Attempt to detect vectorization
+ try {
+ SIMDDetection.isEnabled = SIMDDetection.canEnable();
+ SIMDDetection.versionLimited = SIMDDetection.getJavaVersion() != 17;
+ SIMDDetection.versionLimited = SIMDDetection.getJavaVersion() != 17 && SIMDDetection.getJavaVersion() != 18;
+ } catch (NoClassDefFoundError | Exception ignored) {}
+
+ if (SIMDDetection.isEnabled) {
+ PufferfishLogger.LOGGER.info("SIMD operations detected as functional. Will replace some operations with faster versions.");
+ } else if (SIMDDetection.versionLimited) {
+ PufferfishLogger.LOGGER.warning("Will not enable SIMD! These optimizations are only safely supported on Java 17.");
+ PufferfishLogger.LOGGER.warning("Will not enable SIMD! These optimizations are only safely supported on Java 17 and Java 18.");
+ } else {
+ PufferfishLogger.LOGGER.warning("SIMD operations are available for your server, but are not configured!");
+ PufferfishLogger.LOGGER.warning("To enable additional optimizations, add \"--add-modules=jdk.incubator.vector\" to your startup flags, BEFORE the \"-jar\".");
+ PufferfishLogger.LOGGER.warning("If you have already added this flag, then SIMD operations are not supported on your JVM or CPU.");
+ PufferfishLogger.LOGGER.warning("Debug: Java: " + System.getProperty("java.version") + ", test run: " + SIMDDetection.testRun);
+ }
+ }
+
@@ -2179,7 +2181,7 @@ index c8d56947305c981a3268ce4ae3e975db350ceff2..371b0f95b23d67c9913875a3dd7888e7
}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index e28e09aae1d95d9bed50a137e999e6d457e62478..27e90ca03275a42271bbe97ee1a63a355b098ede 100644
index 257c94f7c1cb00c9a91ab82e311dfd8eca29c538..6afd7c8b3a0db90dbab14b4405ae4c750e5b0ef1 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -235,6 +235,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -2425,7 +2427,7 @@ index 50fd3419deb668dda64b1056f03fb66da55e6960..c63ee396e990d11e2f613f3b5a478b48
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index ca876d0916b7b888e8df58fb6b115fa0ab5b79d3..93eb94fc3b1dd35efecc4615bd4f1b0b8361be2d 100644
index 9df5b678ce4343d0bb54133393f6bbe40fe5366b..350a64a1864780c192436c7819991881a94d281c 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1116,6 +1116,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -2741,7 +2743,7 @@ index 79abd84696ef099f6b12ddeaa6e398f18c53316a..29169f9819ebbe0b90d87ed1e5833a3a
public final String id;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index fdd76d1a1636f30f519c434b41061d826c4a8261..6a31e29bce673e698922da3c3ba8fd4d8b0adedb 100644
index 1521f53ee1bd85ca44a68b2c9d969eaf63fa342e..bf896f821b88415691312d5c725ed21bb2e3f024 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -141,7 +141,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -2799,7 +2801,7 @@ index fdd76d1a1636f30f519c434b41061d826c4a8261..6a31e29bce673e698922da3c3ba8fd4d
public boolean onClimbable() {
if (this.isSpectator()) {
return false;
@@ -3540,7 +3561,10 @@ public abstract class LivingEntity extends Entity {
@@ -3548,7 +3569,10 @@ public abstract class LivingEntity extends Entity {
Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ());
// Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists
@@ -3329,7 +3331,7 @@ index d1eefa6ef3e9abfe7af4d8310aa64465fa2d5463..0f4aa330e5b179bb706a31917c671f16
default BlockHitResult clip(ClipContext raytrace1, BlockPos blockposition) {
// Paper start - Prevent raytrace from loading chunks
diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
index 798afc145c54306fcf0838d8daef2bdf17763da9..e67d5012bc7af629d05bceb1b1e22162272e17aa 100644
index 22feab6477bad023c2d6cc9ac99d392d0afe0a31..fb2626d2a6babe531dd1849333b119ab36200d80 100644
--- a/src/main/java/net/minecraft/world/level/GameRules.java
+++ b/src/main/java/net/minecraft/world/level/GameRules.java
@@ -90,6 +90,7 @@ public class GameRules {