summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/windows/winmain.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2013-01-11 07:32:46 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2013-01-11 07:32:46 +0000
commit0e19f641d3186cdbf51f8ca857e2b07ab95779c2 (patch)
tree234109de1123b13f217494af4b3f8efad346d5cc /src/osd/windows/winmain.c
parent111157ca09a9ff60fe4a9ba49173c315e94314fa (diff)
Cleanups and version bumpmame0148
Diffstat (limited to 'src/osd/windows/winmain.c')
-rw-r--r--src/osd/windows/winmain.c254
1 files changed, 127 insertions, 127 deletions
diff --git a/src/osd/windows/winmain.c b/src/osd/windows/winmain.c
index 9fb164d22e0..1d84d659c77 100644
--- a/src/osd/windows/winmain.c
+++ b/src/osd/windows/winmain.c
@@ -75,7 +75,7 @@
#include "netdev.h"
#endif
-#define DEBUG_SLOW_LOCKS 0
+#define DEBUG_SLOW_LOCKS 0
//**************************************************************************
@@ -114,7 +114,7 @@ public:
_FunctionPtr operator *() const { return m_function; }
private:
- _FunctionPtr m_function;
+ _FunctionPtr m_function;
};
@@ -132,11 +132,11 @@ public:
bool unwind();
private:
- HANDLE m_process;
- HANDLE m_thread;
- STACKFRAME64 m_stackframe;
- CONTEXT m_context;
- bool m_first;
+ HANDLE m_process;
+ HANDLE m_thread;
+ STACKFRAME64 m_stackframe;
+ CONTEXT m_context;
+ bool m_first;
dynamic_bind<BOOL (WINAPI *)(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64)>
m_stack_walk_64;
@@ -145,7 +145,7 @@ private:
dynamic_bind<DWORD64 (WINAPI *)(HANDLE, DWORD64)> m_sym_get_module_base_64;
dynamic_bind<VOID (WINAPI *)(PCONTEXT)> m_rtl_capture_context;
- static bool s_initialized;
+ static bool s_initialized;
};
@@ -184,18 +184,18 @@ private:
m_next(NULL), m_address(address), m_name(symbol) { }
cache_entry *next() const { return m_next; }
- cache_entry * m_next;
- FPTR m_address;
- astring m_name;
+ cache_entry * m_next;
+ FPTR m_address;
+ astring m_name;
};
simple_list<cache_entry> m_cache;
- astring m_mapfile;
- astring m_symfile;
- astring m_buffer;
- HANDLE m_process;
- FPTR m_last_base;
- FPTR m_text_base;
+ astring m_mapfile;
+ astring m_symfile;
+ astring m_buffer;
+ HANDLE m_process;
+ FPTR m_last_base;
+ FPTR m_text_base;
dynamic_bind<BOOL (WINAPI *)(HANDLE, DWORD64, PDWORD64, PSYMBOL_INFO)> m_sym_from_addr;
dynamic_bind<BOOL (WINAPI *)(HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINE64)> m_sym_get_line_from_addr_64;
@@ -221,18 +221,18 @@ private:
static int CLIB_DECL compare_address(const void *item1, const void *item2);
static int CLIB_DECL compare_frequency(const void *item1, const void *item2);
- HANDLE m_target_thread;
+ HANDLE m_target_thread;
- HANDLE m_thread;
- DWORD m_thread_id;
- volatile bool m_thread_exit;
+ HANDLE m_thread;
+ DWORD m_thread_id;
+ volatile bool m_thread_exit;
- UINT8 m_stack_depth;
- UINT8 m_entry_stride;
- UINT32 m_max_seconds;
- FPTR * m_buffer;
- FPTR * m_buffer_ptr;
- FPTR * m_buffer_end;
+ UINT8 m_stack_depth;
+ UINT8 m_entry_stride;
+ UINT32 m_max_seconds;
+ FPTR * m_buffer;
+ FPTR * m_buffer_ptr;
+ FPTR * m_buffer_end;
};
@@ -306,7 +306,7 @@ const options_entry windows_options::s_option_entries[] =
{ NULL, NULL, OPTION_HEADER, "WINDOWS PERFORMANCE OPTIONS" },
{ WINOPTION_PRIORITY "(-15-1)", "0", OPTION_INTEGER, "thread priority for the main game thread; range from -15 to 1" },
{ WINOPTION_MULTITHREADING ";mt", "1", OPTION_BOOLEAN, "enable multithreading; this enables rendering and blitting on a separate thread" },
- { WINOPTION_NUMPROCESSORS ";np", "auto", OPTION_STRING, "number of processors; this overrides the number the system reports" },
+ { WINOPTION_NUMPROCESSORS ";np", "auto", OPTION_STRING, "number of processors; this overrides the number the system reports" },
{ WINOPTION_PROFILE, "0", OPTION_INTEGER, "enable profiling, specifying the stack depth to track" },
{ WINOPTION_BENCH, "0", OPTION_INTEGER, "benchmark for the given number of emulated seconds; implies -video none -nosound -nothrottle" },
@@ -320,7 +320,7 @@ const options_entry windows_options::s_option_entries[] =
{ WINOPTION_PRESCALE, "1", OPTION_INTEGER, "scale screen rendering by this amount in software" },
{ WINOPTION_WAITVSYNC ";vs", "0", OPTION_BOOLEAN, "enable waiting for the start of VBLANK before flipping screens; reduces tearing effects" },
{ WINOPTION_SYNCREFRESH ";srf", "0", OPTION_BOOLEAN, "enable using the start of VBLANK for throttling instead of the game time" },
- { WINOPTION_MENU, "0", OPTION_BOOLEAN, "enable menu bar if available by UI implementation" },
+ { WINOPTION_MENU, "0", OPTION_BOOLEAN, "enable menu bar if available by UI implementation" },
// DirectDraw-specific options
{ NULL, NULL, OPTION_HEADER, "DIRECTDRAW-SPECIFIC OPTIONS" },
@@ -332,61 +332,61 @@ const options_entry windows_options::s_option_entries[] =
{ WINOPTION_FILTER ";d3dfilter;flt", "1", OPTION_BOOLEAN, "enable bilinear filtering on screen output" },
// post-processing options
- { NULL, NULL, OPTION_HEADER, "DIRECT3D POST-PROCESSING OPTIONS" },
- { WINOPTION_HLSL_ENABLE";hlsl", "0", OPTION_BOOLEAN, "enable HLSL post-processing (PS3.0 required)" },
- { WINOPTION_HLSLPATH, "hlsl", OPTION_STRING, "path to hlsl files" },
- { WINOPTION_HLSL_INI_READ, "0", OPTION_BOOLEAN, "enable HLSL INI reading" },
- { WINOPTION_HLSL_INI_WRITE, "0", OPTION_BOOLEAN, "enable HLSL INI writing" },
- { WINOPTION_HLSL_INI_NAME, "%g", OPTION_STRING, "HLSL INI file name for this game" },
- { WINOPTION_HLSL_PRESCALE_X, "0", OPTION_INTEGER, "HLSL pre-scale override factor for X (0 for auto)" },
- { WINOPTION_HLSL_PRESCALE_Y, "0", OPTION_INTEGER, "HLSL pre-scale override factor for Y (0 for auto)" },
+ { NULL, NULL, OPTION_HEADER, "DIRECT3D POST-PROCESSING OPTIONS" },
+ { WINOPTION_HLSL_ENABLE";hlsl", "0", OPTION_BOOLEAN, "enable HLSL post-processing (PS3.0 required)" },
+ { WINOPTION_HLSLPATH, "hlsl", OPTION_STRING, "path to hlsl files" },
+ { WINOPTION_HLSL_INI_READ, "0", OPTION_BOOLEAN, "enable HLSL INI reading" },
+ { WINOPTION_HLSL_INI_WRITE, "0", OPTION_BOOLEAN, "enable HLSL INI writing" },
+ { WINOPTION_HLSL_INI_NAME, "%g", OPTION_STRING, "HLSL INI file name for this game" },
+ { WINOPTION_HLSL_PRESCALE_X, "0", OPTION_INTEGER, "HLSL pre-scale override factor for X (0 for auto)" },
+ { WINOPTION_HLSL_PRESCALE_Y, "0", OPTION_INTEGER, "HLSL pre-scale override factor for Y (0 for auto)" },
{ WINOPTION_HLSL_PRESET";(-1-3)", "-1", OPTION_INTEGER, "HLSL preset to use (0-3)" },
- { WINOPTION_HLSL_WRITE, NULL, OPTION_STRING, "enable HLSL AVI writing (huge disk bandwidth suggested)" },
- { WINOPTION_HLSL_SNAP_WIDTH, "2048", OPTION_STRING, "HLSL upscaled-snapshot width" },
- { WINOPTION_HLSL_SNAP_HEIGHT, "1536", OPTION_STRING, "HLSL upscaled-snapshot height" },
+ { WINOPTION_HLSL_WRITE, NULL, OPTION_STRING, "enable HLSL AVI writing (huge disk bandwidth suggested)" },
+ { WINOPTION_HLSL_SNAP_WIDTH, "2048", OPTION_STRING, "HLSL upscaled-snapshot width" },
+ { WINOPTION_HLSL_SNAP_HEIGHT, "1536", OPTION_STRING, "HLSL upscaled-snapshot height" },
{ WINOPTION_SHADOW_MASK_ALPHA";fs_shadwa(0.0-1.0)", "0.0", OPTION_FLOAT, "shadow mask alpha-blend value (1.0 is fully blended, 0.0 is no mask)" },
{ WINOPTION_SHADOW_MASK_TEXTURE";fs_shadwt(0.0-1.0)", "aperture.png", OPTION_STRING, "shadow mask texture name" },
- { WINOPTION_SHADOW_MASK_COUNT_X";fs_shadww", "320", OPTION_INTEGER, "shadow mask width, in phosphor dots" },
- { WINOPTION_SHADOW_MASK_COUNT_Y";fs_shadwh", "240", OPTION_INTEGER, "shadow mask height, in phosphor dots" },
- { WINOPTION_SHADOW_MASK_USIZE";fs_shadwu(0.0-1.0)", "0.09375", OPTION_FLOAT, "shadow mask texture size in U direction" },
- { WINOPTION_SHADOW_MASK_VSIZE";fs_shadwv(0.0-1.0)", "0.109375", OPTION_FLOAT, "shadow mask texture size in V direction" },
- { WINOPTION_CURVATURE";fs_curv(0.0-4.0)", "0.0", OPTION_FLOAT, "screen curvature amount" },
+ { WINOPTION_SHADOW_MASK_COUNT_X";fs_shadww", "320", OPTION_INTEGER, "shadow mask width, in phosphor dots" },
+ { WINOPTION_SHADOW_MASK_COUNT_Y";fs_shadwh", "240", OPTION_INTEGER, "shadow mask height, in phosphor dots" },
+ { WINOPTION_SHADOW_MASK_USIZE";fs_shadwu(0.0-1.0)", "0.09375", OPTION_FLOAT, "shadow mask texture size in U direction" },
+ { WINOPTION_SHADOW_MASK_VSIZE";fs_shadwv(0.0-1.0)", "0.109375", OPTION_FLOAT, "shadow mask texture size in V direction" },
+ { WINOPTION_CURVATURE";fs_curv(0.0-4.0)", "0.0", OPTION_FLOAT, "screen curvature amount" },
/* Beam-related values below this line*/
- { WINOPTION_PINCUSHION";fs_pin(0.0-4.0)", "0.0", OPTION_FLOAT, "pincushion amount" },
- { WINOPTION_SCANLINE_AMOUNT";fs_scanam(0.0-4.0)", "0.0", OPTION_FLOAT, "overall alpha scaling value for scanlines" },
- { WINOPTION_SCANLINE_SCALE";fs_scansc(0.0-4.0)", "1.0", OPTION_FLOAT, "overall height scaling value for scanlines" },
- { WINOPTION_SCANLINE_HEIGHT";fs_scanh(0.0-4.0)", "0.7", OPTION_FLOAT, "individual height scaling value for scanlines" },
- { WINOPTION_SCANLINE_BRIGHT_SCALE";fs_scanbs(0.0-2.0)", "1.0", OPTION_FLOAT, "overall brightness scaling value for scanlines (multiplicative)" },
- { WINOPTION_SCANLINE_BRIGHT_OFFSET";fs_scanbo(0.0-1.0)", "0.0", OPTION_FLOAT, "overall brightness offset value for scanlines (additive)" },
- { WINOPTION_SCANLINE_OFFSET";fs_scanjt(0.0-4.0)", "0.0", OPTION_FLOAT, "overall interlace jitter scaling value for scanlines" },
- { WINOPTION_DEFOCUS";fs_focus", "0.0,0.0", OPTION_STRING, "overall defocus value in screen-relative coords" },
- { WINOPTION_CONVERGE_X";fs_convx", "0.0,0.0,0.0",OPTION_STRING, "convergence in screen-relative X direction" },
- { WINOPTION_CONVERGE_Y";fs_convy", "0.0,0.0,0.0",OPTION_STRING, "convergence in screen-relative Y direction" },
- { WINOPTION_RADIAL_CONVERGE_X";fs_rconvx", "0.0,0.0,0.0",OPTION_STRING, "radial convergence in screen-relative X direction" },
- { WINOPTION_RADIAL_CONVERGE_Y";fs_rconvy", "0.0,0.0,0.0",OPTION_STRING, "radial convergence in screen-relative Y direction" },
+ { WINOPTION_PINCUSHION";fs_pin(0.0-4.0)", "0.0", OPTION_FLOAT, "pincushion amount" },
+ { WINOPTION_SCANLINE_AMOUNT";fs_scanam(0.0-4.0)", "0.0", OPTION_FLOAT, "overall alpha scaling value for scanlines" },
+ { WINOPTION_SCANLINE_SCALE";fs_scansc(0.0-4.0)", "1.0", OPTION_FLOAT, "overall height scaling value for scanlines" },
+ { WINOPTION_SCANLINE_HEIGHT";fs_scanh(0.0-4.0)", "0.7", OPTION_FLOAT, "individual height scaling value for scanlines" },
+ { WINOPTION_SCANLINE_BRIGHT_SCALE";fs_scanbs(0.0-2.0)", "1.0", OPTION_FLOAT, "overall brightness scaling value for scanlines (multiplicative)" },
+ { WINOPTION_SCANLINE_BRIGHT_OFFSET";fs_scanbo(0.0-1.0)", "0.0", OPTION_FLOAT, "overall brightness offset value for scanlines (additive)" },
+ { WINOPTION_SCANLINE_OFFSET";fs_scanjt(0.0-4.0)", "0.0", OPTION_FLOAT, "overall interlace jitter scaling value for scanlines" },
+ { WINOPTION_DEFOCUS";fs_focus", "0.0,0.0", OPTION_STRING, "overall defocus value in screen-relative coords" },
+ { WINOPTION_CONVERGE_X";fs_convx", "0.0,0.0,0.0",OPTION_STRING, "convergence in screen-relative X direction" },
+ { WINOPTION_CONVERGE_Y";fs_convy", "0.0,0.0,0.0",OPTION_STRING, "convergence in screen-relative Y direction" },
+ { WINOPTION_RADIAL_CONVERGE_X";fs_rconvx", "0.0,0.0,0.0",OPTION_STRING, "radial convergence in screen-relative X direction" },
+ { WINOPTION_RADIAL_CONVERGE_Y";fs_rconvy", "0.0,0.0,0.0",OPTION_STRING, "radial convergence in screen-relative Y direction" },
/* RGB colorspace convolution below this line */
- { WINOPTION_RED_RATIO";fs_redratio", "1.0,0.0,0.0",OPTION_STRING, "red output signal generated by input signal" },
- { WINOPTION_GRN_RATIO";fs_grnratio", "0.0,1.0,0.0",OPTION_STRING, "green output signal generated by input signal" },
- { WINOPTION_BLU_RATIO";fs_bluratio", "0.0,0.0,1.0",OPTION_STRING, "blue output signal generated by input signal" },
- { WINOPTION_SATURATION";fs_sat(0.0-4.0)", "1.0", OPTION_FLOAT, "saturation scaling value" },
- { WINOPTION_OFFSET";fs_offset", "0.0,0.0,0.0",OPTION_STRING, "signal offset value (additive)" },
- { WINOPTION_SCALE";fs_scale", "1.0,1.0,1.0",OPTION_STRING, "signal scaling value (multiplicative)" },
- { WINOPTION_POWER";fs_power", "1.0,1.0,1.0",OPTION_STRING, "signal power value (exponential)" },
- { WINOPTION_FLOOR";fs_floor", "0.0,0.0,0.0",OPTION_STRING, "signal floor level" },
- { WINOPTION_PHOSPHOR";fs_phosphor", "0.0,0.0,0.0",OPTION_STRING, "phosphorescence decay rate (0.0 is instant, 1.0 is forever)" },
+ { WINOPTION_RED_RATIO";fs_redratio", "1.0,0.0,0.0",OPTION_STRING, "red output signal generated by input signal" },
+ { WINOPTION_GRN_RATIO";fs_grnratio", "0.0,1.0,0.0",OPTION_STRING, "green output signal generated by input signal" },
+ { WINOPTION_BLU_RATIO";fs_bluratio", "0.0,0.0,1.0",OPTION_STRING, "blue output signal generated by input signal" },
+ { WINOPTION_SATURATION";fs_sat(0.0-4.0)", "1.0", OPTION_FLOAT, "saturation scaling value" },
+ { WINOPTION_OFFSET";fs_offset", "0.0,0.0,0.0",OPTION_STRING, "signal offset value (additive)" },
+ { WINOPTION_SCALE";fs_scale", "1.0,1.0,1.0",OPTION_STRING, "signal scaling value (multiplicative)" },
+ { WINOPTION_POWER";fs_power", "1.0,1.0,1.0",OPTION_STRING, "signal power value (exponential)" },
+ { WINOPTION_FLOOR";fs_floor", "0.0,0.0,0.0",OPTION_STRING, "signal floor level" },
+ { WINOPTION_PHOSPHOR";fs_phosphor", "0.0,0.0,0.0",OPTION_STRING, "phosphorescence decay rate (0.0 is instant, 1.0 is forever)" },
/* NTSC simulation below this line */
- { WINOPTION_YIQ_ENABLE";yiq", "0", OPTION_BOOLEAN, "enable YIQ-space HLSL post-processing" },
- { WINOPTION_YIQ_CCVALUE";yiqcc", "3.59754545",OPTION_FLOAT, "Color Carrier frequency for NTSC signal processing" },
- { WINOPTION_YIQ_AVALUE";yiqa", "0.5", OPTION_FLOAT, "A value for NTSC signal processing" },
- { WINOPTION_YIQ_BVALUE";yiqb", "0.5", OPTION_FLOAT, "B value for NTSC signal processing" },
- { WINOPTION_YIQ_OVALUE";yiqo", "0.0", OPTION_FLOAT, "Outgoing Color Carrier phase offset for NTSC signal processing" },
- { WINOPTION_YIQ_PVALUE";yiqp", "1.0", OPTION_FLOAT, "Incoming Pixel Clock scaling value for NTSC signal processing" },
- { WINOPTION_YIQ_NVALUE";yiqn", "1.0", OPTION_FLOAT, "Y filter notch width for NTSC signal processing" },
- { WINOPTION_YIQ_YVALUE";yiqy", "6.0", OPTION_FLOAT, "Y filter cutoff frequency for NTSC signal processing" },
- { WINOPTION_YIQ_IVALUE";yiqi", "1.2", OPTION_FLOAT, "I filter cutoff frequency for NTSC signal processing" },
- { WINOPTION_YIQ_QVALUE";yiqq", "0.6", OPTION_FLOAT, "Q filter cutoff frequency for NTSC signal processing" },
- { WINOPTION_YIQ_SCAN_TIME";yiqsc", "52.6", OPTION_FLOAT, "Horizontal scanline duration for NTSC signal processing (in usec)" },
- { WINOPTION_YIQ_PHASE_COUNT";yiqp", "2", OPTION_INTEGER, "Phase Count value for NTSC signal processing" },
+ { WINOPTION_YIQ_ENABLE";yiq", "0", OPTION_BOOLEAN, "enable YIQ-space HLSL post-processing" },
+ { WINOPTION_YIQ_CCVALUE";yiqcc", "3.59754545",OPTION_FLOAT, "Color Carrier frequency for NTSC signal processing" },
+ { WINOPTION_YIQ_AVALUE";yiqa", "0.5", OPTION_FLOAT, "A value for NTSC signal processing" },
+ { WINOPTION_YIQ_BVALUE";yiqb", "0.5", OPTION_FLOAT, "B value for NTSC signal processing" },
+ { WINOPTION_YIQ_OVALUE";yiqo", "0.0", OPTION_FLOAT, "Outgoing Color Carrier phase offset for NTSC signal processing" },
+ { WINOPTION_YIQ_PVALUE";yiqp", "1.0", OPTION_FLOAT, "Incoming Pixel Clock scaling value for NTSC signal processing" },
+ { WINOPTION_YIQ_NVALUE";yiqn", "1.0", OPTION_FLOAT, "Y filter notch width for NTSC signal processing" },
+ { WINOPTION_YIQ_YVALUE";yiqy", "6.0", OPTION_FLOAT, "Y filter cutoff frequency for NTSC signal processing" },
+ { WINOPTION_YIQ_IVALUE";yiqi", "1.2", OPTION_FLOAT, "I filter cutoff frequency for NTSC signal processing" },
+ { WINOPTION_YIQ_QVALUE";yiqq", "0.6", OPTION_FLOAT, "Q filter cutoff frequency for NTSC signal processing" },
+ { WINOPTION_YIQ_SCAN_TIME";yiqsc", "52.6", OPTION_FLOAT, "Horizontal scanline duration for NTSC signal processing (in usec)" },
+ { WINOPTION_YIQ_PHASE_COUNT";yiqp", "2", OPTION_INTEGER, "Phase Count value for NTSC signal processing" },
// per-window options
{ NULL, NULL, OPTION_HEADER, "PER-WINDOW VIDEO OPTIONS" },
@@ -511,12 +511,12 @@ static BOOL WINAPI control_handler(DWORD type)
// indicate to the user that we detected something
switch (type)
{
- case CTRL_C_EVENT: fprintf(stderr, "Caught Ctrl+C"); break;
- case CTRL_BREAK_EVENT: fprintf(stderr, "Caught Ctrl+break"); break;
- case CTRL_CLOSE_EVENT: fprintf(stderr, "Caught console close"); break;
- case CTRL_LOGOFF_EVENT: fprintf(stderr, "Caught logoff"); break;
- case CTRL_SHUTDOWN_EVENT: fprintf(stderr, "Caught shutdown"); break;
- default: fprintf(stderr, "Caught unexpected console event"); break;
+ case CTRL_C_EVENT: fprintf(stderr, "Caught Ctrl+C"); break;
+ case CTRL_BREAK_EVENT: fprintf(stderr, "Caught Ctrl+break"); break;
+ case CTRL_CLOSE_EVENT: fprintf(stderr, "Caught console close"); break;
+ case CTRL_LOGOFF_EVENT: fprintf(stderr, "Caught logoff"); break;
+ case CTRL_SHUTDOWN_EVENT: fprintf(stderr, "Caught shutdown"); break;
+ default: fprintf(stderr, "Caught unexpected console event"); break;
}
// if we don't have a machine yet, or if we are handling ctrl+c/ctrl+break,
@@ -1067,29 +1067,29 @@ static LONG WINAPI exception_filter(struct _EXCEPTION_POINTERS *info)
const char *string;
} exception_table[] =
{
- { EXCEPTION_ACCESS_VIOLATION, "ACCESS VIOLATION" },
- { EXCEPTION_DATATYPE_MISALIGNMENT, "DATATYPE MISALIGNMENT" },
- { EXCEPTION_BREAKPOINT, "BREAKPOINT" },
- { EXCEPTION_SINGLE_STEP, "SINGLE STEP" },
- { EXCEPTION_ARRAY_BOUNDS_EXCEEDED, "ARRAY BOUNDS EXCEEDED" },
- { EXCEPTION_FLT_DENORMAL_OPERAND, "FLOAT DENORMAL OPERAND" },
- { EXCEPTION_FLT_DIVIDE_BY_ZERO, "FLOAT DIVIDE BY ZERO" },
- { EXCEPTION_FLT_INEXACT_RESULT, "FLOAT INEXACT RESULT" },
- { EXCEPTION_FLT_INVALID_OPERATION, "FLOAT INVALID OPERATION" },
- { EXCEPTION_FLT_OVERFLOW, "FLOAT OVERFLOW" },
- { EXCEPTION_FLT_STACK_CHECK, "FLOAT STACK CHECK" },
- { EXCEPTION_FLT_UNDERFLOW, "FLOAT UNDERFLOW" },
- { EXCEPTION_INT_DIVIDE_BY_ZERO, "INTEGER DIVIDE BY ZERO" },
- { EXCEPTION_INT_OVERFLOW, "INTEGER OVERFLOW" },
- { EXCEPTION_PRIV_INSTRUCTION, "PRIVILEGED INSTRUCTION" },
- { EXCEPTION_IN_PAGE_ERROR, "IN PAGE ERROR" },
- { EXCEPTION_ILLEGAL_INSTRUCTION, "ILLEGAL INSTRUCTION" },
+ { EXCEPTION_ACCESS_VIOLATION, "ACCESS VIOLATION" },
+ { EXCEPTION_DATATYPE_MISALIGNMENT, "DATATYPE MISALIGNMENT" },
+ { EXCEPTION_BREAKPOINT, "BREAKPOINT" },
+ { EXCEPTION_SINGLE_STEP, "SINGLE STEP" },
+ { EXCEPTION_ARRAY_BOUNDS_EXCEEDED, "ARRAY BOUNDS EXCEEDED" },
+ { EXCEPTION_FLT_DENORMAL_OPERAND, "FLOAT DENORMAL OPERAND" },
+ { EXCEPTION_FLT_DIVIDE_BY_ZERO, "FLOAT DIVIDE BY ZERO" },
+ { EXCEPTION_FLT_INEXACT_RESULT, "FLOAT INEXACT RESULT" },
+ { EXCEPTION_FLT_INVALID_OPERATION, "FLOAT INVALID OPERATION" },
+ { EXCEPTION_FLT_OVERFLOW, "FLOAT OVERFLOW" },
+ { EXCEPTION_FLT_STACK_CHECK, "FLOAT STACK CHECK" },
+ { EXCEPTION_FLT_UNDERFLOW, "FLOAT UNDERFLOW" },
+ { EXCEPTION_INT_DIVIDE_BY_ZERO, "INTEGER DIVIDE BY ZERO" },
+ { EXCEPTION_INT_OVERFLOW, "INTEGER OVERFLOW" },
+ { EXCEPTION_PRIV_INSTRUCTION, "PRIVILEGED INSTRUCTION" },
+ { EXCEPTION_IN_PAGE_ERROR, "IN PAGE ERROR" },
+ { EXCEPTION_ILLEGAL_INSTRUCTION, "ILLEGAL INSTRUCTION" },
{ EXCEPTION_NONCONTINUABLE_EXCEPTION,"NONCONTINUABLE EXCEPTION" },
- { EXCEPTION_STACK_OVERFLOW, "STACK OVERFLOW" },
- { EXCEPTION_INVALID_DISPOSITION, "INVALID DISPOSITION" },
- { EXCEPTION_GUARD_PAGE, "GUARD PAGE VIOLATION" },
- { EXCEPTION_INVALID_HANDLE, "INVALID HANDLE" },
- { 0, "UNKNOWN EXCEPTION" }
+ { EXCEPTION_STACK_OVERFLOW, "STACK OVERFLOW" },
+ { EXCEPTION_INVALID_DISPOSITION, "INVALID DISPOSITION" },
+ { EXCEPTION_GUARD_PAGE, "GUARD PAGE VIOLATION" },
+ { EXCEPTION_INVALID_HANDLE, "INVALID HANDLE" },
+ { 0, "UNKNOWN EXCEPTION" }
};
static int already_hit = 0;
int i;
@@ -1186,13 +1186,13 @@ static LONG WINAPI exception_filter(struct _EXCEPTION_POINTERS *info)
stack_walker::stack_walker()
: m_process(GetCurrentProcess()),
- m_thread(GetCurrentThread()),
- m_first(true),
- m_stack_walk_64(TEXT("dbghelp.dll"), "StackWalk64"),
- m_sym_initialize(TEXT("dbghelp.dll"), "SymInitialize"),
- m_sym_function_table_access_64(TEXT("dbghelp.dll"), "SymFunctionTableAccess64"),
- m_sym_get_module_base_64(TEXT("dbghelp.dll"), "SymGetModuleBase64"),
- m_rtl_capture_context(TEXT("kernel32.dll"), "RtlCaptureContext")
+ m_thread(GetCurrentThread()),
+ m_first(true),
+ m_stack_walk_64(TEXT("dbghelp.dll"), "StackWalk64"),
+ m_sym_initialize(TEXT("dbghelp.dll"), "SymInitialize"),
+ m_sym_function_table_access_64(TEXT("dbghelp.dll"), "SymFunctionTableAccess64"),
+ m_sym_get_module_base_64(TEXT("dbghelp.dll"), "SymGetModuleBase64"),
+ m_rtl_capture_context(TEXT("kernel32.dll"), "RtlCaptureContext")
{
// zap the structs
memset(&m_stackframe, 0, sizeof(m_stackframe));
@@ -1302,12 +1302,12 @@ bool stack_walker::unwind()
symbol_manager::symbol_manager(const char *argv0)
: m_mapfile(argv0),
- m_symfile(argv0),
- m_process(GetCurrentProcess()),
- m_last_base(0),
- m_text_base(0),
- m_sym_from_addr(TEXT("dbghelp.dll"), "SymFromAddr"),
- m_sym_get_line_from_addr_64(TEXT("dbghelp.dll"), "SymGetLineFromAddr64")
+ m_symfile(argv0),
+ m_process(GetCurrentProcess()),
+ m_last_base(0),
+ m_text_base(0),
+ m_sym_from_addr(TEXT("dbghelp.dll"), "SymFromAddr"),
+ m_sym_get_line_from_addr_64(TEXT("dbghelp.dll"), "SymGetLineFromAddr64")
{
#ifdef __GNUC__
// compute the name of the mapfile
@@ -1650,14 +1650,14 @@ FPTR symbol_manager::get_text_section_base()
sampling_profiler::sampling_profiler(UINT32 max_seconds, UINT8 stack_depth = 0)
: m_thread(NULL),
- m_thread_id(0),
- m_thread_exit(false),
- m_stack_depth(stack_depth),
- m_entry_stride(stack_depth + 2),
- m_max_seconds(max_seconds),
- m_buffer(global_alloc(FPTR[max_seconds * 1000 * m_entry_stride])),
- m_buffer_ptr(m_buffer),
- m_buffer_end(m_buffer + max_seconds * 1000 * m_entry_stride)
+ m_thread_id(0),
+ m_thread_exit(false),
+ m_stack_depth(stack_depth),
+ m_entry_stride(stack_depth + 2),
+ m_max_seconds(max_seconds),
+ m_buffer(global_alloc(FPTR[max_seconds * 1000 * m_entry_stride])),
+ m_buffer_ptr(m_buffer),
+ m_buffer_end(m_buffer + max_seconds * 1000 * m_entry_stride)
{
}