Paper/Spigot-Server-Patches/0205-Remove-the-Vanilla-Method-Profiler.patch
Shane Freeder ffb572ce9a
Remove Ignore invalid Marker Icon ID's in maps
Spigot has patched this issue inside MapIcon, meaning that we no longer need to maintain this patch; Spigots patch also fixes #668 in that it will verify the length of the array, as well as protect against a negative type value being fetched from the array. Only real change is that Spigots patch returns a MapIcon.Type.PLAYER, instead of the RED_MARKER as originally PR'd by Aikar.
2017-04-22 15:52:56 +01:00

84 lines
3.4 KiB
Diff

From 6c4294e444a8a0bce3a404b84cd25388a2c3b25b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 21 Jan 2017 02:00:33 -0500
Subject: [PATCH] Remove the Vanilla Method Profiler
Spigot rebrought this back after it was removed for years due to the performance hit.
It is unknown if the JIT will optimize it out as effeciently with how it was
added, so we do not want any risk of performance degredation.
Paper has a proper Timings system that makes the Vanilla Method profiler obsolete and inferior.
diff --git a/src/main/java/net/minecraft/server/CommandDebug.java b/src/main/java/net/minecraft/server/CommandDebug.java
index fe58d428..938f62f8 100644
--- a/src/main/java/net/minecraft/server/CommandDebug.java
+++ b/src/main/java/net/minecraft/server/CommandDebug.java
@@ -33,12 +33,11 @@ public class CommandDebug extends CommandAbstract {
public void execute(MinecraftServer minecraftserver, ICommandListener icommandlistener, String[] astring) throws CommandException {
// CraftBukkit start - only allow use when enabled (so that no blank profile results occur)
- if (!minecraftserver.methodProfiler.ENABLED) {
- icommandlistener.sendMessage(new ChatComponentText("Vanilla debug profiling is disabled."));
- icommandlistener.sendMessage(new ChatComponentText("To enable, restart the server with `-DenableDebugMethodProfiler=true' before `-jar'."));
- icommandlistener.sendMessage(new ChatComponentText("Use `/timings' for plugin timings."));
+ if (true) { // Paper
+ icommandlistener.sendMessage(new ChatComponentText("Use `/timings report'")); // Paper
return;
}
+ /*
// CraftBukkit end
if (astring.length < 1) {
throw new ExceptionUsage("commands.debug.usage", new Object[0]);
@@ -144,7 +143,7 @@ public class CommandDebug extends CommandAbstract {
return astring[(int) (System.nanoTime() % (long) astring.length)];
} catch (Throwable throwable) {
return "Witty comment unavailable :(";
- }
+ }*/ // Paper
}
public List<String> tabComplete(MinecraftServer minecraftserver, ICommandListener icommandlistener, String[] astring, @Nullable BlockPosition blockposition) {
diff --git a/src/main/java/net/minecraft/server/MethodProfiler.java b/src/main/java/net/minecraft/server/MethodProfiler.java
index 65465291..27698348 100644
--- a/src/main/java/net/minecraft/server/MethodProfiler.java
+++ b/src/main/java/net/minecraft/server/MethodProfiler.java
@@ -9,8 +9,9 @@ import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-
-public class MethodProfiler {
+// Paper - Remove this system - we have a more efficient Timings system
+/*
+class MethodProfiler {
public static final boolean ENABLED = Boolean.getBoolean("enableDebugMethodProfiler"); // CraftBukkit - disable unless specified in JVM arguments
private static final Logger b = LogManager.getLogger();
@@ -163,3 +164,22 @@ public class MethodProfiler {
}
}
}
+*/
+
+public class MethodProfiler {
+ public boolean a;
+
+ MethodProfiler() {}
+
+ public final void a() {}
+
+ public final void a(String s) {}
+
+ public final void b() {}
+
+ public final void c(String s) {}
+
+ public final String c() {
+ return null;
+ }
+}
--
2.12.2