aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-09-06 21:03:17 +0200
committerGitHub <[email protected]>2024-09-06 21:03:17 +0200
commitff251e42b661b5373374a2b250345289fc052882 (patch)
tree2808f702fb5f9d9bd210aff45d443d9c53547c3c
parentb483da4e026ad078c9b1dd6e1e5ec25ac450df69 (diff)
downloadPaper-ff251e42b661b5373374a2b250345289fc052882.tar.gz
Paper-ff251e42b661b5373374a2b250345289fc052882.zip
Use reference hash set in reference Holder (#11363)
-rw-r--r--patches/server/0688-Cache-resource-keys-and-optimize-reference-Holder-ta.patch (renamed from patches/server/0688-cache-resource-keys.patch)16
1 files changed, 15 insertions, 1 deletions
diff --git a/patches/server/0688-cache-resource-keys.patch b/patches/server/0688-Cache-resource-keys-and-optimize-reference-Holder-ta.patch
index 7f3b6ce992..ddb3a70fde 100644
--- a/patches/server/0688-cache-resource-keys.patch
+++ b/patches/server/0688-Cache-resource-keys-and-optimize-reference-Holder-ta.patch
@@ -1,9 +1,23 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <[email protected]>
Date: Sun, 20 Mar 2022 22:06:47 -0700
-Subject: [PATCH] cache resource keys
+Subject: [PATCH] Cache resource keys and optimize reference Holder tags set
+TagKeys are always interned, so we can use a reference hash set for them
+diff --git a/src/main/java/net/minecraft/core/Holder.java b/src/main/java/net/minecraft/core/Holder.java
+index d7bbf60ba94ecd85f991a0c5c70c34fdb00ec9d5..4d2231868b786da9071c3dff2c073b478a486e8a 100644
+--- a/src/main/java/net/minecraft/core/Holder.java
++++ b/src/main/java/net/minecraft/core/Holder.java
+@@ -221,7 +221,7 @@ public interface Holder<T> {
+ }
+
+ void bindTags(Collection<TagKey<T>> tags) {
+- this.tags = Set.copyOf(tags);
++ this.tags = java.util.Collections.unmodifiableSet(new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<>(tags)); // Paper
+ }
+
+ @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
index 95b956802f83b583a823fcd24808363775a56842..33d2e89ac40465b0c4633f9c51378b80f7c397a9 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java