src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp

Print this page
rev 2073 : imported patch vcproj-64


  54 /*
  55 typedef struct _RUNTIME_FUNCTION {
  56     ULONG BeginAddress;
  57     ULONG EndAddress;
  58     ULONG UnwindData;
  59 } RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
  60 */
  61 
  62 typedef struct _DISPATCHER_CONTEXT {
  63     ULONG64 ControlPc;
  64     ULONG64 ImageBase;
  65     PRUNTIME_FUNCTION FunctionEntry;
  66     ULONG64 EstablisherFrame;
  67     ULONG64 TargetIp;
  68     PCONTEXT ContextRecord;
  69 //    PEXCEPTION_ROUTINE LanguageHandler;
  70     char * LanguageHandler; // double dependency problem
  71     PVOID HandlerData;
  72 } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT;
  73 
  74 #if MSC_VER < 1500
  75 
  76 /* Not needed for VS2008 compiler, comes from winnt.h. */
  77 typedef EXCEPTION_DISPOSITION (*PEXCEPTION_ROUTINE) (
  78     IN PEXCEPTION_RECORD ExceptionRecord,
  79     IN ULONG64 EstablisherFrame,
  80     IN OUT PCONTEXT ContextRecord,
  81     IN OUT PDISPATCHER_CONTEXT DispatcherContext
  82 );
  83 
  84 #endif
  85 
  86 #endif // AMD64
  87 
  88 #endif // OS_CPU_WINDOWS_X86_VM_UNWIND_WINDOWS_X86_HPP


  54 /*
  55 typedef struct _RUNTIME_FUNCTION {
  56     ULONG BeginAddress;
  57     ULONG EndAddress;
  58     ULONG UnwindData;
  59 } RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;
  60 */
  61 
  62 typedef struct _DISPATCHER_CONTEXT {
  63     ULONG64 ControlPc;
  64     ULONG64 ImageBase;
  65     PRUNTIME_FUNCTION FunctionEntry;
  66     ULONG64 EstablisherFrame;
  67     ULONG64 TargetIp;
  68     PCONTEXT ContextRecord;
  69 //    PEXCEPTION_ROUTINE LanguageHandler;
  70     char * LanguageHandler; // double dependency problem
  71     PVOID HandlerData;
  72 } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT;
  73 
  74 #if _MSC_VER < 1500
  75 
  76 /* Not needed for VS2008 compiler, comes from winnt.h. */
  77 typedef EXCEPTION_DISPOSITION (*PEXCEPTION_ROUTINE) (
  78     IN PEXCEPTION_RECORD ExceptionRecord,
  79     IN ULONG64 EstablisherFrame,
  80     IN OUT PCONTEXT ContextRecord,
  81     IN OUT PDISPATCHER_CONTEXT DispatcherContext
  82 );
  83 
  84 #endif
  85 
  86 #endif // AMD64
  87 
  88 #endif // OS_CPU_WINDOWS_X86_VM_UNWIND_WINDOWS_X86_HPP