(svn r4125) - Feature: Add a general TIC() TOC() mechanism using rdtsc or something similar on non-i386 architectures to performance-tune (critical) code. Some systems are probably missing, but those can be added later.

This commit is contained in:
Darkvater
2006-03-26 21:15:09 +00:00
parent 4125aa21f8
commit a91c52e169
8 changed files with 106 additions and 51 deletions

19
win32.c
View File

@@ -62,11 +62,6 @@ bool LoadLibraryList(Function proc[], const char* dll)
}
#ifdef _MSC_VER
# ifdef _M_AMD64
void* _get_save_esp(void);
uint64 _rdtsc(void);
# endif
static const char *_exception_string;
#endif
@@ -594,6 +589,7 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep)
static void Win32InitializeExceptions(void)
{
#ifdef _M_AMD64
extern void *_get_save_esp(void);
_safe_esp = _get_save_esp();
#else
_asm {
@@ -603,7 +599,7 @@ static void Win32InitializeExceptions(void)
SetUnhandledExceptionFilter(ExceptionHandler);
}
#endif
#endif /* _MSC_VER */
static char *_fios_path;
static char *_fios_save_path;
@@ -1057,17 +1053,6 @@ static int ParseCommandLine(char *line, char **argv, int max_argc)
return n;
}
#if defined(_MSC_VER) && !defined(_M_AMD64)
uint64 _declspec(naked) _rdtsc(void)
{
_asm {
rdtsc
ret
}
}
#endif
void CreateConsole(void)
{
HANDLE hand;