aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2018-02-17 23:29:34 +0100
committerfunjoker <funjoker109@gmail.com>2021-08-08 21:21:34 +0200
commit89a232de3a7fd049932c840ec45223a77c5e357a (patch)
tree91005cba8150511e9ebbecc434082ca3f01f5daa
parentb7aef385e863072eef544dcfcc033090a882ff8f (diff)
Core/Misc: Add PERFORMANCE_PROFILING CMake option
Add a new CMake option called PERFORMANCE_PROFILING that should be used only when profiling the performance. This option is unsupported, do not report any issue happening when enabling this option. (cherry picked from commit db5c9867e2ffde3657f53bc155b474c5d46884dd)
-rw-r--r--cmake/showoptions.cmake7
-rw-r--r--src/common/Debugging/Errors.h5
-rw-r--r--src/common/Logging/Log.h4
-rw-r--r--src/common/Metric/Metric.h5
4 files changed, 19 insertions, 2 deletions
diff --git a/cmake/showoptions.cmake b/cmake/showoptions.cmake
index 600d3c086cb..a4ed07dcaa8 100644
--- a/cmake/showoptions.cmake
+++ b/cmake/showoptions.cmake
@@ -104,6 +104,13 @@ if ( HELGRIND )
add_definitions(-DHELGRIND)
endif()
+if ( PERFORMANCE_PROFILING )
+ message("")
+ message(" *** PERFORMANCE_PROFILING - WARNING!")
+ message(" *** Please note that this is for PERFORMANCE PROFILING only! Do NOT report any issue when enabling this configuration!")
+ add_definitions(-DPERFORMANCE_PROFILING)
+endif()
+
if (BUILD_SHARED_LIBS)
message("")
message(" *** WITH_DYNAMIC_LINKING - INFO!")
diff --git a/src/common/Debugging/Errors.h b/src/common/Debugging/Errors.h
index fe898e772a2..098917396fc 100644
--- a/src/common/Debugging/Errors.h
+++ b/src/common/Debugging/Errors.h
@@ -51,7 +51,12 @@ namespace Trinity
#define WPWarning(cond, msg) ASSERT_BEGIN do { if (!(cond)) Trinity::Warning(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
#define WPAbort() ASSERT_BEGIN do { Trinity::Abort(__FILE__, __LINE__, __FUNCTION__); } while(0) ASSERT_END
+#ifdef PERFORMANCE_PROFILING
+#define ASSERT(cond, ...) ((void)0)
+#else
#define ASSERT WPAssert
+#endif
+
#define ABORT WPAbort
template <typename T>
diff --git a/src/common/Logging/Log.h b/src/common/Logging/Log.h
index 498bd830676..c5ca989ef5d 100644
--- a/src/common/Logging/Log.h
+++ b/src/common/Logging/Log.h
@@ -143,7 +143,9 @@ class TC_COMMON_API Log
} \
}
-#if TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
+#ifdef PERFORMANCE_PROFILING
+#define TC_LOG_MESSAGE_BODY(filterType__, level__, ...) ((void)0)
+#elif TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
void check_args(char const*, ...) ATTR_PRINTF(1, 2);
void check_args(std::string const&, ...);
diff --git a/src/common/Metric/Metric.h b/src/common/Metric/Metric.h
index 1ce27649fd9..1182db6b501 100644
--- a/src/common/Metric/Metric.h
+++ b/src/common/Metric/Metric.h
@@ -121,7 +121,10 @@ public:
#define sMetric Metric::instance()
-#if TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
+#ifdef PERFORMANCE_PROFILING
+#define TC_METRIC_EVENT(category, title, description) ((void)0)
+#define TC_METRIC_VALUE(category, value) ((void)0)
+#elif TRINITY_PLATFORM != TRINITY_PLATFORM_WINDOWS
#define TC_METRIC_EVENT(category, title, description) \
do { \
if (sMetric->IsEnabled()) \