adjust spall usage code - still not generating multi-thread events correctly...

This commit is contained in:
Ryan Fleury
2025-05-22 09:58:09 -07:00
parent 3fcdb85ebf
commit 25813e62ea
4 changed files with 11 additions and 9 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ main_thread_base_entry_point(int arguments_count, char **arguments)
//- rjf: set up spall
#if PROFILE_SPALL
spall_profile = spall_init_file("spall_capture", 1);
spall_profile = spall_init_file_ex("spall_capture", 1, 0);
#endif
//- rjf: parse command line
+7
View File
@@ -5,6 +5,13 @@
internal inline void
spall_begin(char *fmt, ...)
{
if(spall_buffer.data == 0)
{
spall_buffer.length = MB(1);
spall_buffer.data = os_reserve(spall_buffer.length);
os_commit(spall_buffer.data, spall_buffer.length);
spall_buffer_init(&spall_profile, &spall_buffer);
}
if(spall_pid == 0)
{
spall_pid = os_get_process_info()->pid;
+3 -3
View File
@@ -70,7 +70,7 @@ scratch_end(scratch); \
//~ rjf: Spall Profile Defines
#if PROFILE_SPALL
global U64 spall_capturing = 1;
global U64 spall_capturing = 0;
global SpallProfile spall_profile = {0};
thread_static SpallBuffer spall_buffer = {0};
thread_static U32 spall_tid = 0;
@@ -79,10 +79,10 @@ internal inline void spall_begin(char *fmt, ...);
# define ProfBegin(...) (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_ex(&spall_profile, &spall_buffer, os_now_microseconds(), spall_tid, spall_pid)), 0 : 0)
# define ProfTick(...)
# define ProfTick(...)
# define ProfIsCapturing(...) (!!spall_capturing)
# define ProfBeginCapture(...) (spall_capturing = 1)
# define ProfEndCapture(...) (spall_capturing = 0)
# define ProfEndCapture(...) (spall_capturing = 0, spall_flush(&spall_profile))
# define ProfThreadName(...)
# define ProfMsg(...)
# define ProfBeginLockWait(...)
-5
View File
@@ -18,11 +18,6 @@ tctx_init_and_equip(TCTX *tctx)
{
*arena_ptr = arena_alloc();
}
#if PROFILE_SPALL
spall_buffer.length = MB(1);
spall_buffer.data = push_array_no_zero(tctx->arenas[0], U8, spall_buffer.length);
spall_buffer_init(&spall_profile, &spall_buffer);
#endif
tctx_thread_local = tctx;
}