32#include "../System/cl_platform.h"
51 enum CPU_ExtensionX86 {
mmx,
mmx_ex,
_3d_now,
_3d_now_ex,
sse,
sse2,
sse3,
ssse3,
sse4_a,
sse4_1,
sse4_2,
xop,
avx,
aes,
fma3,
fma4 };
67 static int capture_stack_trace(
int frames_to_skip,
int max_frames,
void **out_frames,
unsigned int *out_hash =
nullptr);
General system helper functions.
Definition: system.h:43
static bool detect_cpu_extension(CPU_ExtensionPPC ext)
static int capture_stack_trace(int frames_to_skip, int max_frames, void **out_frames, unsigned int *out_hash=nullptr)
Captures a stack back trace by walking up the stack and recording the information for each frame.
static uint64_t get_time()
Get the current time (since system boot), in milliseconds.
static void aligned_free(void *ptr)
Frees aligned memory.
CPU_ExtensionX86
Definition: system.h:51
@ fma3
Definition: system.h:51
@ mmx
Definition: system.h:51
@ fma4
Definition: system.h:51
@ _3d_now_ex
Definition: system.h:51
@ sse4_a
Definition: system.h:51
@ ssse3
Definition: system.h:51
@ _3d_now
Definition: system.h:51
@ sse3
Definition: system.h:51
@ aes
Definition: system.h:51
@ avx
Definition: system.h:51
@ xop
Definition: system.h:51
@ sse
Definition: system.h:51
@ mmx_ex
Definition: system.h:51
@ sse4_1
Definition: system.h:51
@ sse4_2
Definition: system.h:51
@ sse2
Definition: system.h:51
static int get_num_cores()
Return the number of CPU cores.
static void pause(int millis)
Pause for 'millis' milliseconds.
static void * aligned_alloc(size_t size, size_t alignment=16)
Allocates aligned memory.
static std::vector< std::string > get_stack_frames_text(void **frames, int num_frames)
Returns the function names and lines for the specified stack frame addresses.
CPU_ExtensionPPC
Definition: system.h:52
@ altivec
Definition: system.h:52
static void sleep(int millis)
Sleep for 'millis' milliseconds.
static uint64_t get_microseconds()
Get the current time microseconds.
static bool detect_cpu_extension(CPU_ExtensionX86 ext)
static std::string get_exe_path()
Returns the full dirname of the executable that started this.