/* * Mr. 4th Dimention - Allen Webster * * 16.05.2015 * * Fascilities available for development but not intended for shipping. * */ // TOP #if FRED_INTERNAL == 1 #define ProfileStart_(name, start, counter, hit, thread, n, c) #define ProfileEnd_(name, start, counter, hit, thread) #define ProfileMoment_(name, counter, thread) #if 0 #define ProfileStart(name) char *_pname_##name; i64 _pstart_##name; \ i32 _pcounter_##name; u32 _phit_##name; \ ProfileStart_(_pname_##name, _pstart_##name, _pcounter_##name, \ _phit_##name, system->thread_get_id(thread), \ #name, __COUNTER__) #define ProfileEnd(name) ProfileEnd_(_pname_##name, _pstart_##name, \ _pcounter_##name, _phit_##name, \ system->thread_get_id(thread)) #define ProfileMoment(name, thread) ProfileMoment_(#name, __COUNTER__, thread) #define ProfileMomentFunction() ProfileMoment_(__FUNCTION__, __COUNTER__, 0) #else #define ProfileStart(name) #define ProfileEnd(name) #define ProfileMoment(name) #define ProfileMomentFunction() #endif struct Sys_Bubble : public Bubble{ i32 line_number; char *file_name; }; #else #define ProfileStart(name) #define ProfileEnd(name) #define ProfileMoment(name) #define ProfileMomentFunction() #endif // BOTTOM