{
static struct timeval tv_last = { 0, 0 };
- if (trace_state_flag != 1) return;
+ if (unlikely(trace_state_flag != 1)) return;
if (!force_output)
{
finish:
#ifdef COREGL_TRACE_STATE_INFO
- if (trace_state_flag == 1)
+ if (unlikely(trace_state_flag == 1)) return;
dump_context_states(newctx, 0);
#endif // COREGL_TRACE_STATE_INFO
return;
AST(cstate->data == NULL || cstate->data == initial_ctx);
#ifdef COREGL_TRACE_CONTEXT_INFO
- if (trace_ctx_flag == 1)
+ if (unlikely(trace_ctx_flag == 1))
remove_from_general_trace_list(&context_state_trace_list, cstate);
#endif // COREGL_TRACE_CONTEXT_INFO
if (gctx->ref_count == 0)
{
#ifdef COREGL_TRACE_CONTEXT_INFO
- if (trace_ctx_flag == 1)
+ if (unlikely(trace_ctx_flag == 1))
remove_from_general_trace_list(&glue_ctx_trace_list, gctx);
#endif // COREGL_TRACE_CONTEXT_INFO
AST(add_context_state_to_list(real_ctx_option, sizeof(EGL_packed_option), *cstate_new, &ctx_list_access_mutex) == 1);
#ifdef COREGL_TRACE_CONTEXT_INFO
- if (trace_ctx_flag == 1)
+ if (unlikely(trace_ctx_flag == 1))
add_to_general_trace_list(&context_state_trace_list, *cstate_new);
#endif // COREGL_TRACE_CONTEXT_INFO
gctx->cstate = cstate;
#ifdef COREGL_TRACE_CONTEXT_INFO
- if (trace_ctx_flag == 1)
+ if (unlikely(trace_ctx_flag == 1))
{
char ment[256];
add_to_general_trace_list(&glue_ctx_trace_list, gctx);
if (cstate_new != NULL)
{
#ifdef COREGL_TRACE_CONTEXT_INFO
- if (trace_ctx_flag == 1)
+ if (unlikely(trace_ctx_flag == 1))
remove_from_general_trace_list(&context_state_trace_list, cstate_new);
#endif // COREGL_TRACE_CONTEXT_INFO
_COREGL_FAST_FUNC_END();
#ifdef COREGL_TRACE_CONTEXT_INFO
- if (trace_ctx_flag == 1)
+ if (unlikely(trace_ctx_flag == 1))
{
char ment[256];
sprintf(ment, "eglDestroyContext completed (GlueCTX=[%12p])", ctx);
_COREGL_FAST_FUNC_END();
#ifdef COREGL_TRACE_CONTEXT_INFO
- if (trace_ctx_flag == 1)
+ if (unlikely(trace_ctx_flag == 1))
{
char ment[256];
sprintf(ment, "eglMakeCurrent finished (GlueCTX=[%12p] Surf=[D:%12p R:%12p])", ctx, draw, read);
#include "coregl.h"
+#define unlikely(x) __builtin_expect(x, 0)
+
// Symbol definition for real
#define _COREGL_SYMBOL(IS_EXTENSION, RET_TYPE, FUNC_NAME, PARAM_LIST) extern RET_TYPE (*_sym_##FUNC_NAME) PARAM_LIST;
# include "headers/sym.h"
#define _COREGL_WRAP_FUNC_BEGIN() \
static void *trace_hint = NULL; \
- if (trace_api_flag == 1) \
+ if (unlikely(trace_api_flag == 1)) \
trace_hint = _COREGL_TRACE_API_BEGIN(__func__, trace_hint, 1);
#define _COREGL_WRAP_FUNC_END() \
- if (trace_api_flag == 1) \
+ if (unlikely(trace_api_flag == 1)) \
_COREGL_TRACE_API_END(__func__, trace_hint, 1);
typedef enum _CoreGL_Opt_Flag