comparison src/os_cpu/windows_x86/vm/os_windows_x86.cpp @ 4993:897b7d18bebc

added RiCompiledMethod.execute and the required VM infrastructure
author Lukas Stadler <lukas.stadler@jku.at>
date Tue, 28 Feb 2012 18:00:35 +0100
parents 828eafbd85cc
children 957c266d8bc5
comparison
equal deleted inserted replaced
4992:f86ddbd42a7b 4993:897b7d18bebc
74 #endif // AMD64 74 #endif // AMD64
75 75
76 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* ); 76 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* );
77 77
78 // Install a win32 structured exception handler around thread. 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) { 79 void os::os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, nmethod* nm, JavaCallArguments* args, Thread* thread) {
80 __try { 80 __try {
81 81
82 #ifndef AMD64 82 #ifndef AMD64
83 // We store the current thread in this wrapperthread location 83 // We store the current thread in this wrapperthread location
84 // and determine how far away this address is from the structured 84 // and determine how far away this address is from the structured
114 "thread pointer offset from SEH changed"); 114 "thread pointer offset from SEH changed");
115 } 115 }
116 #endif // ASSERT 116 #endif // ASSERT
117 #endif // !AMD64 117 #endif // !AMD64
118 118
119 f(value, method, args, thread); 119 f(value, method, nm, args, thread);
120 } __except(topLevelExceptionFilter((_EXCEPTION_POINTERS*)_exception_info())) { 120 } __except(topLevelExceptionFilter((_EXCEPTION_POINTERS*)_exception_info())) {
121 // Nothing to do. 121 // Nothing to do.
122 } 122 }
123 } 123 }
124 124