diff --git a/Spigot-API-Patches/0003-Timings-v2.patch b/Spigot-API-Patches/0003-Timings-v2.patch index 949960d9c4..941ed56604 100644 --- a/Spigot-API-Patches/0003-Timings-v2.patch +++ b/Spigot-API-Patches/0003-Timings-v2.patch @@ -1,4 +1,4 @@ -From e3d0784acb044ea7d704eae393c66e586edd6dcc Mon Sep 17 00:00:00 2001 +From c06ec1a9abc604b79f3c0e282ca752814de91110 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 29 Feb 2016 18:48:17 -0600 Subject: [PATCH] Timings v2 @@ -457,10 +457,10 @@ index 0000000..b62e428 +} diff --git a/src/main/java/co/aikar/timings/TimingHandler.java b/src/main/java/co/aikar/timings/TimingHandler.java new file mode 100644 -index 0000000..4918a17 +index 0000000..46c4e13 --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingHandler.java -@@ -0,0 +1,193 @@ +@@ -0,0 +1,190 @@ +/* + * This file is licensed under the MIT License (MIT). + * @@ -486,13 +486,10 @@ index 0000000..4918a17 + */ +package co.aikar.timings; + -+import gnu.trove.map.hash.TIntObjectHashMap; -+import org.bukkit.Bukkit; +import co.aikar.util.LoadingIntMap; -+import co.aikar.util.LoadingMap; -+import co.aikar.util.MRUMapCache; ++import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; ++import org.bukkit.Bukkit; + -+import java.util.Map; +import java.util.logging.Level; + +class TimingHandler implements Timing { @@ -503,7 +500,7 @@ index 0000000..4918a17 + final String name; + final boolean verbose; + -+ final TIntObjectHashMap children = new LoadingIntMap(TimingData.LOADER); ++ final Int2ObjectOpenHashMap children = new LoadingIntMap<>(TimingData.LOADER); + + final TimingData record; + final TimingHandler groupHandler; @@ -543,7 +540,7 @@ index 0000000..4918a17 + } + + record.processTick(violated); -+ for (TimingData handler : children.valueCollection()) { ++ for (TimingData handler : children.values()) { + handler.processTick(violated); + } + } @@ -938,7 +935,7 @@ index 0000000..7a04770 +} diff --git a/src/main/java/co/aikar/timings/TimingHistoryEntry.java b/src/main/java/co/aikar/timings/TimingHistoryEntry.java new file mode 100644 -index 0000000..eac4e21 +index 0000000..a5c5dfd --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingHistoryEntry.java @@ -0,0 +1,59 @@ @@ -981,7 +978,7 @@ index 0000000..eac4e21 + this.data = handler.record.clone(); + children = new TimingData[handler.children.size()]; + int i = 0; -+ for (TimingData child : handler.children.valueCollection()) { ++ for (TimingData child : handler.children.values()) { + children[i++] = child.clone(); + } + } @@ -2271,10 +2268,10 @@ index 0000000..5fdf7c4 +} diff --git a/src/main/java/co/aikar/util/LoadingIntMap.java b/src/main/java/co/aikar/util/LoadingIntMap.java new file mode 100644 -index 0000000..8d0f269 +index 0000000..79fa9d5 --- /dev/null +++ b/src/main/java/co/aikar/util/LoadingIntMap.java -@@ -0,0 +1,63 @@ +@@ -0,0 +1,70 @@ +/* + * Copyright (c) 2015. Starlis LLC / dba Empire Minecraft + * @@ -2285,7 +2282,7 @@ index 0000000..8d0f269 + + +import com.google.common.base.Function; -+import gnu.trove.map.hash.TIntObjectHashMap; ++import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; + +/** + * Allows you to pass a Loader function that when a key is accessed that doesn't exist, @@ -2301,14 +2298,21 @@ index 0000000..8d0f269 + * + * @param Value + */ -+public class LoadingIntMap extends TIntObjectHashMap { ++public class LoadingIntMap extends Int2ObjectOpenHashMap { + private final Function loader; + -+ /** -+ * Initializes an auto loading map using specified loader and backing map -+ * @param loader The loader -+ */ + public LoadingIntMap(Function loader) { ++ super(); ++ this.loader = loader; ++ } ++ ++ public LoadingIntMap(int expectedSize, Function loader) { ++ super(expectedSize); ++ this.loader = loader; ++ } ++ ++ public LoadingIntMap(int expectedSize, float loadFactor, Function loader) { ++ super(expectedSize, loadFactor); + this.loader = loader; + } + @@ -3538,5 +3542,5 @@ index 8d98297..7e89b97 100644 - } } -- -2.7.4 +2.8.0