From fe09cb38c19f53830f32583e5631947345ed8e59 Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Fri, 19 Feb 2016 19:01:21 -0600 Subject: [PATCH] add the javaUseXcheck option to ServerGame to allow for use of the jni linting/checking system, which spams shitloads of output --- .../serverGame/src/shared/core/ConfigServerGame.cpp | 1 + .../serverGame/src/shared/core/ConfigServerGame.h | 9 +++++++++ .../library/serverScript/src/shared/JavaLibrary.cpp | 13 +++++++------ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp index 03a9061f..255af0e3 100755 --- a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp +++ b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp @@ -103,6 +103,7 @@ void ConfigServerGame::install(void) KEY_INT (jediUpdateLocationTimeSeconds, 60 * 5); KEY_STRING (planetObjectTemplate, "object/planet/planet.iff"); KEY_BOOL (javaConsoleDebugMessages, false); + KEY_BOOL (javaUseXcheck, false); KEY_BOOL (useVerboseJava, false); KEY_BOOL (logJavaGc, false); KEY_INT (javaLocalRefLimit, 16); diff --git a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h index 0426f519..da4c6271 100755 --- a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h +++ b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h @@ -110,6 +110,7 @@ class ConfigServerGame int universeCheckFrequencySeconds; // how often to scan the resource tree for things that need to be spawned bool javaConsoleDebugMessages; + bool javaUseXcheck; bool useVerboseJava; bool logJavaGc; int javaLocalRefLimit; @@ -670,6 +671,7 @@ class ConfigServerGame static const int getUniverseCheckFrequencySeconds(void); static const bool getJavaConsoleDebugMessages (void); + static const bool getUseJavaXcheck (void); static const bool getUseVerboseJava (void); static const bool getLogJavaGc (void); @@ -1476,6 +1478,13 @@ inline const bool ConfigServerGame::getJavaConsoleDebugMessages() //----------------------------------------------------------------------- +inline const bool ConfigServerGame::getUseJavaXcheck() +{ + return data->javaUseXcheck; +} + +//----------------------------------------------------------------------- + inline const bool ConfigServerGame::getUseVerboseJava(void) { return data->useVerboseJava; diff --git a/engine/server/library/serverScript/src/shared/JavaLibrary.cpp b/engine/server/library/serverScript/src/shared/JavaLibrary.cpp index 94cb02ff..f93d99b6 100755 --- a/engine/server/library/serverScript/src/shared/JavaLibrary.cpp +++ b/engine/server/library/serverScript/src/shared/JavaLibrary.cpp @@ -1168,17 +1168,18 @@ void JavaLibrary::initializeJavaThread() // java 1.8 and higher uses metaspace...which is apparently unlimited by default #if defined(JNI_VERSION_1_8) || defined(JNI_VERSION_1_9) - tempOption.optionString = "-XX:MetaspaceSize=512m"; + tempOption.optionString = "-XX:MetaspaceSize=128m"; options.push_back(tempOption); #endif -// these don't seem to play nice with java/JNI >= 7 -#if !defined(JNI_VERSION_1_9) && !defined(JNI_VERSION_1_8) && !defined(JNI_VERSION_1_7) tempOption.optionString = "-Xrs"; options.push_back(tempOption); - tempOption.optionString = "-Xcheck:jni"; - options.push_back(tempOption); -#endif + + if (ConfigServerGame::getUseJavaXcheck()) + { + tempOption.optionString = "-Xcheck:jni"; + options.push_back(tempOption); + } if (ConfigServerGame::getCompileScripts()) {