equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
69 #endif // AMD64 |
69 #endif // AMD64 |
70 |
70 |
71 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* ); |
71 extern LONG WINAPI topLevelExceptionFilter(_EXCEPTION_POINTERS* ); |
72 |
72 |
73 // Install a win32 structured exception handler around thread. |
73 // Install a win32 structured exception handler around thread. |
74 void os::os_exception_wrapper(java_call_t f, JavaValue* value, methodHandle* method, JavaCallArguments* args, Thread* thread) { |
74 void os::os_exception_wrapper(java_call_t f, JavaValue* value, const methodHandle& method, JavaCallArguments* args, Thread* thread) { |
75 __try { |
75 __try { |
76 |
76 |
77 #ifndef AMD64 |
77 #ifndef AMD64 |
78 // We store the current thread in this wrapperthread location |
78 // We store the current thread in this wrapperthread location |
79 // and determine how far away this address is from the structured |
79 // and determine how far away this address is from the structured |