#include "Base_Thread_Context.h" // C_LINKAGE thread_static TCTX* tctx_thread_local; thread_static Thread_Context* thread_local_context; // Start from w32_entry_point_caller -> // see main_thread_base_entry_point // //- rjf: set up thread context // TCTX *tctx = tctx_alloc(); // tctx_select(tctx); // See: tctx_alloc(void) // Let's do arenas first. void init_thread_context(Thread_Context* tctx) { // Should be Arena-bootstrapped with Temp Arena maybe? // #TODO - call from entry point. } Thread_Context* get_thread_context() { return (Thread_Context*)thread_local_context; } force_inline Allocator get_temp_allocator() { return get_allocator(get_thread_context()->temp); } force_inline Allocator get_context_allocator() { Thread_Context* context = get_thread_context(); return context->allocator; } void temp_reset_keeping_memory() { Thread_Context* context = get_thread_context(); arena_reset_keeping_memory(context->temp); } void temp_reset() { Thread_Context* context = get_thread_context(); arena_reset(context->temp); }