Mercurial > hg > graal-jvmci-8
comparison src/os_cpu/windows_x86/vm/unwind_windows_x86.hpp @ 11144:33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
Reviewed-by: anthony, dholmes, dcubed
Contributed-by: Tim Bell <timothy.bell@oracle.com>
author | dholmes |
---|---|
date | Mon, 15 Jul 2013 23:23:15 -0400 |
parents | 15d6977f04b0 |
children |
comparison
equal
deleted
inserted
replaced
11143:ee9e76adced3 | 11144:33c52908bcdb |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2004, 2013, 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. |
27 | 27 |
28 | 28 |
29 #ifdef AMD64 | 29 #ifdef AMD64 |
30 typedef unsigned char UBYTE; | 30 typedef unsigned char UBYTE; |
31 | 31 |
32 #if _MSC_VER < 1700 | |
33 | |
34 /* Not needed for VS2012 compiler, comes from winnt.h. */ | |
32 #define UNW_FLAG_EHANDLER 0x01 | 35 #define UNW_FLAG_EHANDLER 0x01 |
33 #define UNW_FLAG_UHANDLER 0x02 | 36 #define UNW_FLAG_UHANDLER 0x02 |
34 #define UNW_FLAG_CHAININFO 0x04 | 37 #define UNW_FLAG_CHAININFO 0x04 |
38 | |
39 #endif | |
35 | 40 |
36 // This structure is used to define an UNWIND_INFO that | 41 // This structure is used to define an UNWIND_INFO that |
37 // only has an ExceptionHandler. There are no UnwindCodes | 42 // only has an ExceptionHandler. There are no UnwindCodes |
38 // declared. | 43 // declared. |
39 typedef struct _UNWIND_INFO_EH_ONLY { | 44 typedef struct _UNWIND_INFO_EH_ONLY { |
57 ULONG EndAddress; | 62 ULONG EndAddress; |
58 ULONG UnwindData; | 63 ULONG UnwindData; |
59 } RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; | 64 } RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; |
60 */ | 65 */ |
61 | 66 |
67 #if _MSC_VER < 1700 | |
68 | |
69 /* Not needed for VS2012 compiler, comes from winnt.h. */ | |
62 typedef struct _DISPATCHER_CONTEXT { | 70 typedef struct _DISPATCHER_CONTEXT { |
63 ULONG64 ControlPc; | 71 ULONG64 ControlPc; |
64 ULONG64 ImageBase; | 72 ULONG64 ImageBase; |
65 PRUNTIME_FUNCTION FunctionEntry; | 73 PRUNTIME_FUNCTION FunctionEntry; |
66 ULONG64 EstablisherFrame; | 74 ULONG64 EstablisherFrame; |
68 PCONTEXT ContextRecord; | 76 PCONTEXT ContextRecord; |
69 // PEXCEPTION_ROUTINE LanguageHandler; | 77 // PEXCEPTION_ROUTINE LanguageHandler; |
70 char * LanguageHandler; // double dependency problem | 78 char * LanguageHandler; // double dependency problem |
71 PVOID HandlerData; | 79 PVOID HandlerData; |
72 } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; | 80 } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; |
81 | |
82 #endif | |
73 | 83 |
74 #if _MSC_VER < 1500 | 84 #if _MSC_VER < 1500 |
75 | 85 |
76 /* Not needed for VS2008 compiler, comes from winnt.h. */ | 86 /* Not needed for VS2008 compiler, comes from winnt.h. */ |
77 typedef EXCEPTION_DISPOSITION (*PEXCEPTION_ROUTINE) ( | 87 typedef EXCEPTION_DISPOSITION (*PEXCEPTION_ROUTINE) ( |