51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
|
/*
|
||
|
* 4coder_profile.cpp - Built in self profiling report.
|
||
|
*/
|
||
|
|
||
|
// TOP
|
||
|
|
||
|
#if !defined(FCODER_PROFILE_H)
|
||
|
#define FCODER_PROFILE_H
|
||
|
|
||
|
struct Profile_Global_List{
|
||
|
System_Mutex mutex;
|
||
|
Arena node_arena;
|
||
|
Arena_Node *first_arena;
|
||
|
Arena_Node *last_arena;
|
||
|
Profile_Thread *first_thread;
|
||
|
Profile_Thread *last_thread;
|
||
|
i32 thread_count;
|
||
|
Profile_Enable_Flag disable_bits;
|
||
|
};
|
||
|
|
||
|
struct Profile_Block{
|
||
|
Thread_Context *tctx;
|
||
|
Profile_Global_List *list;
|
||
|
b32 is_closed;
|
||
|
Profile_ID id;
|
||
|
|
||
|
Profile_Block(Thread_Context *tctx, Profile_Global_List *list,
|
||
|
String_Const_u8 name, String_Const_u8 location);
|
||
|
Profile_Block(Application_Links *app, String_Const_u8 name, String_Const_u8 location);
|
||
|
~Profile_Block();
|
||
|
void close_now();
|
||
|
};
|
||
|
|
||
|
struct Profile_Scope_Block{
|
||
|
Thread_Context *tctx;
|
||
|
Profile_Global_List *list;
|
||
|
b32 is_closed;
|
||
|
Profile_ID id;
|
||
|
|
||
|
Profile_Scope_Block(Thread_Context *tctx, Profile_Global_List *list,
|
||
|
String_Const_u8 name, String_Const_u8 location);
|
||
|
Profile_Scope_Block(Application_Links *app, String_Const_u8 name, String_Const_u8 location);
|
||
|
~Profile_Scope_Block();
|
||
|
void close_now();
|
||
|
};
|
||
|
|
||
|
#endif
|
||
|
|
||
|
// BOTTOM
|
||
|
|