mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-30 11:00:02 +00:00
use tid/pid-specifying spall functions
This commit is contained in:
@@ -5,11 +5,19 @@
|
|||||||
internal inline void
|
internal inline void
|
||||||
spall_begin(char *fmt, ...)
|
spall_begin(char *fmt, ...)
|
||||||
{
|
{
|
||||||
|
if(spall_pid == 0)
|
||||||
|
{
|
||||||
|
spall_pid = os_get_process_info()->pid;
|
||||||
|
}
|
||||||
|
if(spall_tid == 0)
|
||||||
|
{
|
||||||
|
spall_tid = os_tid();
|
||||||
|
}
|
||||||
Temp scratch = scratch_begin(0, 0);
|
Temp scratch = scratch_begin(0, 0);
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
String8 string = push_str8fv(scratch.arena, fmt, args);
|
String8 string = push_str8fv(scratch.arena, fmt, args);
|
||||||
spall_buffer_begin(&spall_profile, &spall_buffer, string.str, string.size, os_now_microseconds());
|
spall_buffer_begin_ex(&spall_profile, &spall_buffer, string.str, string.size, os_now_microseconds(), spall_tid, spall_pid);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
scratch_end(scratch);
|
scratch_end(scratch);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,10 +73,12 @@ scratch_end(scratch); \
|
|||||||
global U64 spall_capturing = 1;
|
global U64 spall_capturing = 1;
|
||||||
global SpallProfile spall_profile = {0};
|
global SpallProfile spall_profile = {0};
|
||||||
thread_static SpallBuffer spall_buffer = {0};
|
thread_static SpallBuffer spall_buffer = {0};
|
||||||
|
thread_static U32 spall_tid = 0;
|
||||||
|
thread_static U32 spall_pid = 0;
|
||||||
internal inline void spall_begin(char *fmt, ...);
|
internal inline void spall_begin(char *fmt, ...);
|
||||||
# define ProfBegin(...) (spall_capturing ? (spall_begin(__VA_ARGS__), 0) : 0)
|
# define ProfBegin(...) (spall_capturing ? (spall_begin(__VA_ARGS__), 0) : 0)
|
||||||
# define ProfBeginDynamic(...) (spall_capturing ? (spall_begin(__VA_ARGS__), 0) : 0)
|
# define ProfBeginDynamic(...) (spall_capturing ? (spall_begin(__VA_ARGS__), 0) : 0)
|
||||||
# define ProfEnd(...) (spall_capturing ? (spall_buffer_end(&spall_profile, &spall_buffer, os_now_microseconds())), 0 : 0)
|
# define ProfEnd(...) (spall_capturing ? (spall_buffer_end_ex(&spall_profile, &spall_buffer, os_now_microseconds(), spall_tid, spall_pid)), 0 : 0)
|
||||||
# define ProfTick(...)
|
# define ProfTick(...)
|
||||||
# define ProfIsCapturing(...) (!!spall_capturing)
|
# define ProfIsCapturing(...) (!!spall_capturing)
|
||||||
# define ProfBeginCapture(...) (spall_capturing = 1)
|
# define ProfBeginCapture(...) (spall_capturing = 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user