35 #include "mutex_windows.inline.hpp" 36 #include "nativeInst_x86.hpp" 37 #include "os_share_windows.hpp" 38 #include "prims/jniFastGetField.hpp" 39 #include "prims/jvm.h" 40 #include "prims/jvm_misc.hpp" 41 #include "runtime/arguments.hpp" 42 #include "runtime/extendedPC.hpp" 43 #include "runtime/frame.inline.hpp" 44 #include "runtime/interfaceSupport.hpp" 45 #include "runtime/java.hpp" 46 #include "runtime/javaCalls.hpp" 47 #include "runtime/mutexLocker.hpp" 48 #include "runtime/osThread.hpp" 49 #include "runtime/sharedRuntime.hpp" 50 #include "runtime/stubRoutines.hpp" 51 #include "runtime/timer.hpp" 52 #include "thread_windows.inline.hpp" 53 #include "utilities/events.hpp" 54 #include "utilities/vmError.hpp" 55 #ifdef COMPILER1 56 #include "c1/c1_Runtime1.hpp" 57 #endif 58 #ifdef COMPILER2 59 #include "opto/runtime.hpp" 60 #endif 61 62 # include "unwind_windows_x86.hpp" 63 #undef REG_SP 64 #undef REG_FP 65 #undef REG_PC 66 #ifdef AMD64 67 #define REG_SP Rsp 68 #define REG_FP Rbp 69 #define REG_PC Rip 70 #else 71 #define REG_SP Esp 72 #define REG_FP Ebp 73 #define REG_PC Eip 74 #endif // AMD64 75 76 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* ); 77 78 // Install a win32 structured exception handler around thread. 79 void os::os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread) { 80 __try { | 35 #include "mutex_windows.inline.hpp" 36 #include "nativeInst_x86.hpp" 37 #include "os_share_windows.hpp" 38 #include "prims/jniFastGetField.hpp" 39 #include "prims/jvm.h" 40 #include "prims/jvm_misc.hpp" 41 #include "runtime/arguments.hpp" 42 #include "runtime/extendedPC.hpp" 43 #include "runtime/frame.inline.hpp" 44 #include "runtime/interfaceSupport.hpp" 45 #include "runtime/java.hpp" 46 #include "runtime/javaCalls.hpp" 47 #include "runtime/mutexLocker.hpp" 48 #include "runtime/osThread.hpp" 49 #include "runtime/sharedRuntime.hpp" 50 #include "runtime/stubRoutines.hpp" 51 #include "runtime/timer.hpp" 52 #include "thread_windows.inline.hpp" 53 #include "utilities/events.hpp" 54 #include "utilities/vmError.hpp" 55 56 # include "unwind_windows_x86.hpp" 57 #undef REG_SP 58 #undef REG_FP 59 #undef REG_PC 60 #ifdef AMD64 61 #define REG_SP Rsp 62 #define REG_FP Rbp 63 #define REG_PC Rip 64 #else 65 #define REG_SP Esp 66 #define REG_FP Ebp 67 #define REG_PC Eip 68 #endif // AMD64 69 70 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* ); 71 72 // Install a win32 structured exception handler around thread. 73 void os::os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread) { 74 __try { |