Mercurial > hg > truffle
comparison src/os_cpu/windows_x86/vm/os_windows_x86.cpp @ 8173:6d23f64f2fdb
Merge.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Fri, 08 Mar 2013 13:19:28 +0100 |
parents | b8f261ba79c6 |
children | 6b0fd0964b87 |
comparison
equal
deleted
inserted
replaced
8172:5c9fc4f75b4c | 8173:6d23f64f2fdb |
---|---|
68 #endif // AMD64 | 68 #endif // AMD64 |
69 | 69 |
70 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* ); | 70 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* ); |
71 | 71 |
72 // Install a win32 structured exception handler around thread. | 72 // Install a win32 structured exception handler around thread. |
73 void os::os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, nmethod* nm, JavaCallArguments* args, Thread* thread) { | 73 void os::os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread) { |
74 __try { | 74 __try { |
75 | 75 |
76 #ifndef AMD64 | 76 #ifndef AMD64 |
77 // We store the current thread in this wrapperthread location | 77 // We store the current thread in this wrapperthread location |
78 // and determine how far away this address is from the structured | 78 // and determine how far away this address is from the structured |
108 "thread pointer offset from SEH changed"); | 108 "thread pointer offset from SEH changed"); |
109 } | 109 } |
110 #endif // ASSERT | 110 #endif // ASSERT |
111 #endif // !AMD64 | 111 #endif // !AMD64 |
112 | 112 |
113 f(value, method, nm, args, thread); | 113 f(value, method, args, thread); |
114 } __except(topLevelExceptionFilter((_EXCEPTION_POINTERS*)_exception_info())) { | 114 } __except(topLevelExceptionFilter((_EXCEPTION_POINTERS*)_exception_info())) { |
115 // Nothing to do. | 115 // Nothing to do. |
116 } | 116 } |
117 } | 117 } |
118 | 118 |