annotate agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/DebugVC50TypeEnums.java @ 1552:c18cbe5936b8

6941466: Oracle rebranding changes for Hotspot repositories Summary: Change all the Sun copyrights to Oracle copyright Reviewed-by: ohair
author trims
date Thu, 27 May 2010 19:08:38 -0700
parents a61af66fc99e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 /*
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
2 * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 *
a61af66fc99e Initial load
duke
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 * published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 *
a61af66fc99e Initial load
duke
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 * accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 *
a61af66fc99e Initial load
duke
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
21 * questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 *
a61af66fc99e Initial load
duke
parents:
diff changeset
23 */
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 package sun.jvm.hotspot.debugger.win32.coff;
a61af66fc99e Initial load
duke
parents:
diff changeset
26
a61af66fc99e Initial load
duke
parents:
diff changeset
27 /** Various enumerated values used in type leaves */
a61af66fc99e Initial load
duke
parents:
diff changeset
28
a61af66fc99e Initial load
duke
parents:
diff changeset
29 public interface DebugVC50TypeEnums {
a61af66fc99e Initial load
duke
parents:
diff changeset
30 /** LF_MODIFIER attributes */
a61af66fc99e Initial load
duke
parents:
diff changeset
31 public static final int MODIFIER_CONST_MASK = 0x01;
a61af66fc99e Initial load
duke
parents:
diff changeset
32 public static final int MODIFIER_VOLATILE_MASK = 0x02;
a61af66fc99e Initial load
duke
parents:
diff changeset
33 public static final int MODIFIER_UNALIGNED_MASK = 0x04;
a61af66fc99e Initial load
duke
parents:
diff changeset
34
a61af66fc99e Initial load
duke
parents:
diff changeset
35 /** LF_POINTER bitfields */
a61af66fc99e Initial load
duke
parents:
diff changeset
36 // FIXME: verify these are correct
a61af66fc99e Initial load
duke
parents:
diff changeset
37 // ptrtype field
a61af66fc99e Initial load
duke
parents:
diff changeset
38 public static final int POINTER_PTRTYPE_MASK = 0x0000001F;
a61af66fc99e Initial load
duke
parents:
diff changeset
39 public static final int POINTER_PTRTYPE_SHIFT = 0;
a61af66fc99e Initial load
duke
parents:
diff changeset
40 public static final int POINTER_PTRTYPE_NEAR = 0;
a61af66fc99e Initial load
duke
parents:
diff changeset
41 public static final int POINTER_PTRTYPE_FAR = 1;
a61af66fc99e Initial load
duke
parents:
diff changeset
42 public static final int POINTER_PTRTYPE_HUGE = 2;
a61af66fc99e Initial load
duke
parents:
diff changeset
43 /** Obsolete */
a61af66fc99e Initial load
duke
parents:
diff changeset
44 public static final int POINTER_PTRTYPE_BASED_ON_SEGMENT = 3;
a61af66fc99e Initial load
duke
parents:
diff changeset
45 public static final int POINTER_PTRTYPE_BASED_ON_VALUE = 4;
a61af66fc99e Initial load
duke
parents:
diff changeset
46 /** Obsolete */
a61af66fc99e Initial load
duke
parents:
diff changeset
47 public static final int POINTER_PTRTYPE_BASED_ON_SEGMENT_OF_VALUE = 5;
a61af66fc99e Initial load
duke
parents:
diff changeset
48 /** Obsolete */
a61af66fc99e Initial load
duke
parents:
diff changeset
49 public static final int POINTER_PTRTYPE_BASED_ON_ADDRESS_OF_SYMBOL = 6;
a61af66fc99e Initial load
duke
parents:
diff changeset
50 /** Obsolete */
a61af66fc99e Initial load
duke
parents:
diff changeset
51 public static final int POINTER_PTRTYPE_BASED_ON_SEGMENT_OF_SYMBOL_ADDRESS = 7;
a61af66fc99e Initial load
duke
parents:
diff changeset
52 public static final int POINTER_PTRTYPE_BASED_ON_TYPE = 8;
a61af66fc99e Initial load
duke
parents:
diff changeset
53 /** Obsolete */
a61af66fc99e Initial load
duke
parents:
diff changeset
54 public static final int POINTER_PTRTYPE_BASED_ON_SELF = 9;
a61af66fc99e Initial load
duke
parents:
diff changeset
55 public static final int POINTER_PTRTYPE_NEAR_32_BIT = 10;
a61af66fc99e Initial load
duke
parents:
diff changeset
56 public static final int POINTER_PTRTYPE_FAR_32_BIT = 11;
a61af66fc99e Initial load
duke
parents:
diff changeset
57 public static final int POINTER_PTRTYPE_64_BIT = 12;
a61af66fc99e Initial load
duke
parents:
diff changeset
58
a61af66fc99e Initial load
duke
parents:
diff changeset
59 // ptrmode field
a61af66fc99e Initial load
duke
parents:
diff changeset
60 // FIXME: verify these are correct
a61af66fc99e Initial load
duke
parents:
diff changeset
61 public static final int POINTER_PTRMODE_MASK = 0x000000E0;
a61af66fc99e Initial load
duke
parents:
diff changeset
62 public static final int POINTER_PTRMODE_SHIFT = 5;
a61af66fc99e Initial load
duke
parents:
diff changeset
63 public static final int POINTER_PTRMODE_POINTER = 0;
a61af66fc99e Initial load
duke
parents:
diff changeset
64 public static final int POINTER_PTRMODE_REFERENCE = 1;
a61af66fc99e Initial load
duke
parents:
diff changeset
65 public static final int POINTER_PTRMODE_PTR_TO_DATA_MEMBER = 2;
a61af66fc99e Initial load
duke
parents:
diff changeset
66 public static final int POINTER_PTRMODE_PTR_TO_METHOD = 3;
a61af66fc99e Initial load
duke
parents:
diff changeset
67
a61af66fc99e Initial load
duke
parents:
diff changeset
68 // FIXME: verify this is correct
a61af66fc99e Initial load
duke
parents:
diff changeset
69 public static final int POINTER_ISFLAT32_MASK = 0x00000100;
a61af66fc99e Initial load
duke
parents:
diff changeset
70
a61af66fc99e Initial load
duke
parents:
diff changeset
71 // FIXME: verify this is correct
a61af66fc99e Initial load
duke
parents:
diff changeset
72 public static final int POINTER_VOLATILE_MASK = 0x00000200;
a61af66fc99e Initial load
duke
parents:
diff changeset
73
a61af66fc99e Initial load
duke
parents:
diff changeset
74 // FIXME: verify this is correct
a61af66fc99e Initial load
duke
parents:
diff changeset
75 public static final int POINTER_CONST_MASK = 0x00000400;
a61af66fc99e Initial load
duke
parents:
diff changeset
76
a61af66fc99e Initial load
duke
parents:
diff changeset
77 // FIXME: verify this is correct
a61af66fc99e Initial load
duke
parents:
diff changeset
78 public static final int POINTER_UNALIGNED_MASK = 0x00000800;
a61af66fc99e Initial load
duke
parents:
diff changeset
79
a61af66fc99e Initial load
duke
parents:
diff changeset
80 // FIXME: verify this is correct
a61af66fc99e Initial load
duke
parents:
diff changeset
81 public static final int POINTER_RESTRICT_MASK = 0x00001000;
a61af66fc99e Initial load
duke
parents:
diff changeset
82
a61af66fc99e Initial load
duke
parents:
diff changeset
83 /** <p> 16:32 data for classes with or without virtual functions and
a61af66fc99e Initial load
duke
parents:
diff changeset
84 no virtual bases. Pointer layout is: </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
85
a61af66fc99e Initial load
duke
parents:
diff changeset
86 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
87 <table width = "15%">
a61af66fc99e Initial load
duke
parents:
diff changeset
88 <tr> <td> 4
a61af66fc99e Initial load
duke
parents:
diff changeset
89 <tr> <td> mdisp
a61af66fc99e Initial load
duke
parents:
diff changeset
90 </table>
a61af66fc99e Initial load
duke
parents:
diff changeset
91 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
92
a61af66fc99e Initial load
duke
parents:
diff changeset
93 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
94 <i>mdisp</i>: displacement to data
a61af66fc99e Initial load
duke
parents:
diff changeset
95 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
96
a61af66fc99e Initial load
duke
parents:
diff changeset
97 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
98 NULL value is 0x80000000.
a61af66fc99e Initial load
duke
parents:
diff changeset
99 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
100 */
a61af66fc99e Initial load
duke
parents:
diff changeset
101 public static final short PTR_FORMAT_DATA_NVF_NVB = (short) 3;
a61af66fc99e Initial load
duke
parents:
diff changeset
102
a61af66fc99e Initial load
duke
parents:
diff changeset
103 /** <p> 16:32 data for class with virtual bases. Pointer layout is:</p>
a61af66fc99e Initial load
duke
parents:
diff changeset
104
a61af66fc99e Initial load
duke
parents:
diff changeset
105 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
106 <table width = "45%">
a61af66fc99e Initial load
duke
parents:
diff changeset
107 <tr> <td> 4 <td> 4 <td> 4
a61af66fc99e Initial load
duke
parents:
diff changeset
108 <tr> <td> mdisp <td> pdisp> <td> vdisp
a61af66fc99e Initial load
duke
parents:
diff changeset
109 </table>
a61af66fc99e Initial load
duke
parents:
diff changeset
110 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
111
a61af66fc99e Initial load
duke
parents:
diff changeset
112 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
113 <i>mdisp</i>: displacement to data
a61af66fc99e Initial load
duke
parents:
diff changeset
114 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
115
a61af66fc99e Initial load
duke
parents:
diff changeset
116 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
117 <i>pdisp</i>: <b>this</b> pointer displacement to virtual base table pointer
a61af66fc99e Initial load
duke
parents:
diff changeset
118 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
119
a61af66fc99e Initial load
duke
parents:
diff changeset
120 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
121 <i>vdisp</i>: displacement within virtual base table
a61af66fc99e Initial load
duke
parents:
diff changeset
122 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
123
a61af66fc99e Initial load
duke
parents:
diff changeset
124 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
125 NULL value is (*,*,0xffffffff).
a61af66fc99e Initial load
duke
parents:
diff changeset
126 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
127 */
a61af66fc99e Initial load
duke
parents:
diff changeset
128 public static final short PTR_FORMAT_DATA_VB = (short) 4;
a61af66fc99e Initial load
duke
parents:
diff changeset
129
a61af66fc99e Initial load
duke
parents:
diff changeset
130 /** <p> 16:32 method nonvirtual bases with single address point.
a61af66fc99e Initial load
duke
parents:
diff changeset
131 Pointer layout is: </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
132
a61af66fc99e Initial load
duke
parents:
diff changeset
133 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
134 <table width = "15%">
a61af66fc99e Initial load
duke
parents:
diff changeset
135 <tr> <td> 4
a61af66fc99e Initial load
duke
parents:
diff changeset
136 <tr> <td> off
a61af66fc99e Initial load
duke
parents:
diff changeset
137 </table>
a61af66fc99e Initial load
duke
parents:
diff changeset
138 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
139
a61af66fc99e Initial load
duke
parents:
diff changeset
140 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
141 <i>off</i>: offset of function
a61af66fc99e Initial load
duke
parents:
diff changeset
142 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
143
a61af66fc99e Initial load
duke
parents:
diff changeset
144 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
145 NULL value is 0L.
a61af66fc99e Initial load
duke
parents:
diff changeset
146 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
147 */
a61af66fc99e Initial load
duke
parents:
diff changeset
148 public static final short PTR_FORMAT_METHOD_NVB_SAP = (short) 11;
a61af66fc99e Initial load
duke
parents:
diff changeset
149
a61af66fc99e Initial load
duke
parents:
diff changeset
150 /** <p> 16:32 method nonvirtual bases with multiple address points.
a61af66fc99e Initial load
duke
parents:
diff changeset
151 Pointer layout is: </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
152
a61af66fc99e Initial load
duke
parents:
diff changeset
153 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
154 <table width = "30%">
a61af66fc99e Initial load
duke
parents:
diff changeset
155 <tr> <td> 4 <td> 4
a61af66fc99e Initial load
duke
parents:
diff changeset
156 <tr> <td> off <td> disp
a61af66fc99e Initial load
duke
parents:
diff changeset
157 </table>
a61af66fc99e Initial load
duke
parents:
diff changeset
158 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
159
a61af66fc99e Initial load
duke
parents:
diff changeset
160 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
161 <i>off</i>: offset of function
a61af66fc99e Initial load
duke
parents:
diff changeset
162 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
163
a61af66fc99e Initial load
duke
parents:
diff changeset
164 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
165 <i>disp</i>: displacement of address point.
a61af66fc99e Initial load
duke
parents:
diff changeset
166 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
167
a61af66fc99e Initial load
duke
parents:
diff changeset
168 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
169 NULL value is (0L : 0L).
a61af66fc99e Initial load
duke
parents:
diff changeset
170 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
171 */
a61af66fc99e Initial load
duke
parents:
diff changeset
172 public static final short PTR_FORMAT_METHOD_NVB_MAP = (short) 12;
a61af66fc99e Initial load
duke
parents:
diff changeset
173
a61af66fc99e Initial load
duke
parents:
diff changeset
174 /** <p> 16:32 method with virtual bases. Pointer layout is: </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
175
a61af66fc99e Initial load
duke
parents:
diff changeset
176 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
177 <table width = "60%">
a61af66fc99e Initial load
duke
parents:
diff changeset
178 <tr> <td> 4 <td> 4 <td> 4 <td> 4
a61af66fc99e Initial load
duke
parents:
diff changeset
179 <tr> <td> off <td> mdisp <td> pdisp <td> vdisp
a61af66fc99e Initial load
duke
parents:
diff changeset
180 </table>
a61af66fc99e Initial load
duke
parents:
diff changeset
181 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
182
a61af66fc99e Initial load
duke
parents:
diff changeset
183 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
184 <i>off</i>: offset of function
a61af66fc99e Initial load
duke
parents:
diff changeset
185 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
186
a61af66fc99e Initial load
duke
parents:
diff changeset
187 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
188 <i>mdisp</i>: displacement to data
a61af66fc99e Initial load
duke
parents:
diff changeset
189 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
190
a61af66fc99e Initial load
duke
parents:
diff changeset
191 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
192 <i>pdisp</i>: <b>this</b> pointer displacement to virtual base
a61af66fc99e Initial load
duke
parents:
diff changeset
193 table pointer
a61af66fc99e Initial load
duke
parents:
diff changeset
194 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
195
a61af66fc99e Initial load
duke
parents:
diff changeset
196 <p>
a61af66fc99e Initial load
duke
parents:
diff changeset
197 <i>vdisp</i>: displacement within virtual base table
a61af66fc99e Initial load
duke
parents:
diff changeset
198 </p>
a61af66fc99e Initial load
duke
parents:
diff changeset
199
a61af66fc99e Initial load
duke
parents:
diff changeset
200 NULL value is (0L, *, *, *).
a61af66fc99e Initial load
duke
parents:
diff changeset
201 */
a61af66fc99e Initial load
duke
parents:
diff changeset
202 public static final short PTR_FORMAT_METHOD_VB = (short) 13;
a61af66fc99e Initial load
duke
parents:
diff changeset
203
a61af66fc99e Initial load
duke
parents:
diff changeset
204 /** Class, structure, union, and enum properties */
a61af66fc99e Initial load
duke
parents:
diff changeset
205 // FIXME: verify these are correct
a61af66fc99e Initial load
duke
parents:
diff changeset
206 /** Structure is packed */
a61af66fc99e Initial load
duke
parents:
diff changeset
207 public static final short PROPERTY_PACKED = (short) 0x001;
a61af66fc99e Initial load
duke
parents:
diff changeset
208 /** Class has constructors and/or destructors */
a61af66fc99e Initial load
duke
parents:
diff changeset
209 public static final short PROPERTY_CTOR = (short) 0x002;
a61af66fc99e Initial load
duke
parents:
diff changeset
210 /** Class has overloaded operators */
a61af66fc99e Initial load
duke
parents:
diff changeset
211 public static final short PROPERTY_OVEROPS = (short) 0x004;
a61af66fc99e Initial load
duke
parents:
diff changeset
212 /** Class is a nested class */
a61af66fc99e Initial load
duke
parents:
diff changeset
213 public static final short PROPERTY_ISNESTED = (short) 0x008;
a61af66fc99e Initial load
duke
parents:
diff changeset
214 /** Class contains nested classes */
a61af66fc99e Initial load
duke
parents:
diff changeset
215 public static final short PROPERTY_CNESTED = (short) 0x010;
a61af66fc99e Initial load
duke
parents:
diff changeset
216 /** Class has overloaded assignment */
a61af66fc99e Initial load
duke
parents:
diff changeset
217 public static final short PROPERTY_OPASSIGN = (short) 0x020;
a61af66fc99e Initial load
duke
parents:
diff changeset
218 /** Class has casting methods */
a61af66fc99e Initial load
duke
parents:
diff changeset
219 public static final short PROPERTY_OPCAST = (short) 0x040;
a61af66fc99e Initial load
duke
parents:
diff changeset
220 /** Class/structure is a forward (incomplete) reference */
a61af66fc99e Initial load
duke
parents:
diff changeset
221 public static final short PROPERTY_FWDREF = (short) 0x080;
a61af66fc99e Initial load
duke
parents:
diff changeset
222 /** This is a scoped definition */
a61af66fc99e Initial load
duke
parents:
diff changeset
223 public static final short PROPERTY_SCOPED = (short) 0x100;
a61af66fc99e Initial load
duke
parents:
diff changeset
224
a61af66fc99e Initial load
duke
parents:
diff changeset
225 /** Calling conventions */
a61af66fc99e Initial load
duke
parents:
diff changeset
226 /** Arguments pushed right to left, caller pops arguments. */
a61af66fc99e Initial load
duke
parents:
diff changeset
227 public static final byte CALLCONV_NEAR_C = (byte) 0;
a61af66fc99e Initial load
duke
parents:
diff changeset
228 public static final byte CALLCONV_FAR_C = (byte) 1;
a61af66fc99e Initial load
duke
parents:
diff changeset
229 public static final byte CALLCONV_NEAR_PASCAL = (byte) 2;
a61af66fc99e Initial load
duke
parents:
diff changeset
230 /** Arguments pushed left to right, callee pops arguments. */
a61af66fc99e Initial load
duke
parents:
diff changeset
231 public static final byte CALLCONV_FAR_PASCAL = (byte) 3;
a61af66fc99e Initial load
duke
parents:
diff changeset
232 public static final byte CALLCONV_NEAR_FASTCALL = (byte) 4;
a61af66fc99e Initial load
duke
parents:
diff changeset
233 public static final byte CALLCONV_FAR_FASTCALL = (byte) 5;
a61af66fc99e Initial load
duke
parents:
diff changeset
234 public static final byte CALLCONV_RESERVED = (byte) 6;
a61af66fc99e Initial load
duke
parents:
diff changeset
235 public static final byte CALLCONV_NEAR_STDCALL = (byte) 7;
a61af66fc99e Initial load
duke
parents:
diff changeset
236 public static final byte CALLCONV_FAR_STDCALL = (byte) 8;
a61af66fc99e Initial load
duke
parents:
diff changeset
237 public static final byte CALLCONV_NEAR_SYSCALL = (byte) 9;
a61af66fc99e Initial load
duke
parents:
diff changeset
238 public static final byte CALLCONV_FAR_SYSCALL = (byte) 10;
a61af66fc99e Initial load
duke
parents:
diff changeset
239 public static final byte CALLCONV_THIS_CALL = (byte) 11;
a61af66fc99e Initial load
duke
parents:
diff changeset
240 public static final byte CALLCONV_MIPS_CALL = (byte) 12;
a61af66fc99e Initial load
duke
parents:
diff changeset
241 public static final byte CALLCONV_GENERIC = (byte) 13;
a61af66fc99e Initial load
duke
parents:
diff changeset
242
a61af66fc99e Initial load
duke
parents:
diff changeset
243 /** vtable entry descriptors */
a61af66fc99e Initial load
duke
parents:
diff changeset
244 public static final int VTENTRY_NEAR = 0;
a61af66fc99e Initial load
duke
parents:
diff changeset
245 public static final int VTENTRY_FAR = 1;
a61af66fc99e Initial load
duke
parents:
diff changeset
246 public static final int VTENTRY_THIN = 2;
a61af66fc99e Initial load
duke
parents:
diff changeset
247 /** Address point displacement to outermost class. This is at
a61af66fc99e Initial load
duke
parents:
diff changeset
248 entry[-1] from table address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
249 public static final int VTENTRY_ADDRESS_PT_DISP = 3;
a61af66fc99e Initial load
duke
parents:
diff changeset
250 /** Far pointer to metaclass descriptor. This is at entry[-2] from
a61af66fc99e Initial load
duke
parents:
diff changeset
251 table address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
252 public static final int VTENTRY_FAR_PTR_TO_METACLASS = 4;
a61af66fc99e Initial load
duke
parents:
diff changeset
253 public static final int VTENTRY_NEAR_32 = 5;
a61af66fc99e Initial load
duke
parents:
diff changeset
254 public static final int VTENTRY_FAR_32 = 6;
a61af66fc99e Initial load
duke
parents:
diff changeset
255
a61af66fc99e Initial load
duke
parents:
diff changeset
256 /** Label addressing modes */
a61af66fc99e Initial load
duke
parents:
diff changeset
257 public static final short LABEL_ADDR_MODE_NEAR = (short) 0;
a61af66fc99e Initial load
duke
parents:
diff changeset
258 public static final short LABEL_ADDR_MODE_FAR = (short) 4;
a61af66fc99e Initial load
duke
parents:
diff changeset
259
a61af66fc99e Initial load
duke
parents:
diff changeset
260 //
a61af66fc99e Initial load
duke
parents:
diff changeset
261 // Primitive/reserved type enumerations
a61af66fc99e Initial load
duke
parents:
diff changeset
262 //
a61af66fc99e Initial load
duke
parents:
diff changeset
263
a61af66fc99e Initial load
duke
parents:
diff changeset
264 // FIXME: verify these are correct
a61af66fc99e Initial load
duke
parents:
diff changeset
265 // Type field
a61af66fc99e Initial load
duke
parents:
diff changeset
266 public static final int RESERVED_TYPE_MASK = 0x070;
a61af66fc99e Initial load
duke
parents:
diff changeset
267 public static final int RESERVED_TYPE_SPECIAL = 0x000;
a61af66fc99e Initial load
duke
parents:
diff changeset
268 public static final int RESERVED_TYPE_SIGNED_INT = 0x010;
a61af66fc99e Initial load
duke
parents:
diff changeset
269 public static final int RESERVED_TYPE_UNSIGNED_INT = 0x020;
a61af66fc99e Initial load
duke
parents:
diff changeset
270 public static final int RESERVED_TYPE_BOOLEAN = 0x030;
a61af66fc99e Initial load
duke
parents:
diff changeset
271 public static final int RESERVED_TYPE_REAL = 0x040;
a61af66fc99e Initial load
duke
parents:
diff changeset
272 public static final int RESERVED_TYPE_COMPLEX = 0x050;
a61af66fc99e Initial load
duke
parents:
diff changeset
273 public static final int RESERVED_TYPE_SPECIAL2 = 0x060;
a61af66fc99e Initial load
duke
parents:
diff changeset
274 public static final int RESERVED_TYPE_REALLY_INT = 0x070;
a61af66fc99e Initial load
duke
parents:
diff changeset
275
a61af66fc99e Initial load
duke
parents:
diff changeset
276 // Mode field
a61af66fc99e Initial load
duke
parents:
diff changeset
277 public static final int RESERVED_MODE_MASK = 0x700;
a61af66fc99e Initial load
duke
parents:
diff changeset
278 public static final int RESERVED_MODE_DIRECT = 0x000;
a61af66fc99e Initial load
duke
parents:
diff changeset
279 public static final int RESERVED_MODE_NEAR_PTR = 0x100;
a61af66fc99e Initial load
duke
parents:
diff changeset
280 public static final int RESERVED_MODE_FAR_PTR = 0x200;
a61af66fc99e Initial load
duke
parents:
diff changeset
281 public static final int RESERVED_MODE_HUGE_PTR = 0x300;
a61af66fc99e Initial load
duke
parents:
diff changeset
282 public static final int RESERVED_MODE_NEAR_32_PTR = 0x400;
a61af66fc99e Initial load
duke
parents:
diff changeset
283 public static final int RESERVED_MODE_FAR_32_PTR = 0x500;
a61af66fc99e Initial load
duke
parents:
diff changeset
284 public static final int RESERVED_MODE_NEAR_64_PTR = 0x600;
a61af66fc99e Initial load
duke
parents:
diff changeset
285
a61af66fc99e Initial load
duke
parents:
diff changeset
286 // Size field for each of the types above.
a61af66fc99e Initial load
duke
parents:
diff changeset
287 // Has different meanings based on type.
a61af66fc99e Initial load
duke
parents:
diff changeset
288 public static final int RESERVED_SIZE_MASK = 0x7;
a61af66fc99e Initial load
duke
parents:
diff changeset
289 // Special type
a61af66fc99e Initial load
duke
parents:
diff changeset
290 public static final int RESERVED_SIZE_SPECIAL_NO_TYPE = 0x0;
a61af66fc99e Initial load
duke
parents:
diff changeset
291 public static final int RESERVED_SIZE_SPECIAL_ABSOLUTE_SYMBOL = 0x1;
a61af66fc99e Initial load
duke
parents:
diff changeset
292 public static final int RESERVED_SIZE_SPECIAL_SEGMENT = 0x2;
a61af66fc99e Initial load
duke
parents:
diff changeset
293 public static final int RESERVED_SIZE_SPECIAL_VOID = 0x3;
a61af66fc99e Initial load
duke
parents:
diff changeset
294 public static final int RESERVED_SIZE_SPECIAL_BASIC_8_BYTE = 0x4;
a61af66fc99e Initial load
duke
parents:
diff changeset
295 public static final int RESERVED_SIZE_SPECIAL_NEAR_BASIC_STRING = 0x5;
a61af66fc99e Initial load
duke
parents:
diff changeset
296 public static final int RESERVED_SIZE_SPECIAL_FAR_BASIC_STRING = 0x6;
a61af66fc99e Initial load
duke
parents:
diff changeset
297 public static final int RESERVED_SIZE_SPECIAL_UNTRANSLATED = 0x7;
a61af66fc99e Initial load
duke
parents:
diff changeset
298 // Signed, unsigned and boolean types
a61af66fc99e Initial load
duke
parents:
diff changeset
299 public static final int RESERVED_SIZE_INT_1_BYTE = 0x0;
a61af66fc99e Initial load
duke
parents:
diff changeset
300 public static final int RESERVED_SIZE_INT_2_BYTE = 0x1;
a61af66fc99e Initial load
duke
parents:
diff changeset
301 public static final int RESERVED_SIZE_INT_4_BYTE = 0x2;
a61af66fc99e Initial load
duke
parents:
diff changeset
302 public static final int RESERVED_SIZE_INT_8_BYTE = 0x3;
a61af66fc99e Initial load
duke
parents:
diff changeset
303 // Real and complex types
a61af66fc99e Initial load
duke
parents:
diff changeset
304 public static final int RESERVED_SIZE_REAL_32_BIT = 0x0;
a61af66fc99e Initial load
duke
parents:
diff changeset
305 public static final int RESERVED_SIZE_REAL_64_BIT = 0x1;
a61af66fc99e Initial load
duke
parents:
diff changeset
306 public static final int RESERVED_SIZE_REAL_80_BIT = 0x2;
a61af66fc99e Initial load
duke
parents:
diff changeset
307 public static final int RESERVED_SIZE_REAL_128_BIT = 0x3;
a61af66fc99e Initial load
duke
parents:
diff changeset
308 public static final int RESERVED_SIZE_REAL_48_BIT = 0x4;
a61af66fc99e Initial load
duke
parents:
diff changeset
309 // Special2 type
a61af66fc99e Initial load
duke
parents:
diff changeset
310 public static final int RESERVED_SIZE_SPECIAL2_BIT = 0x0;
a61af66fc99e Initial load
duke
parents:
diff changeset
311 public static final int RESERVED_SIZE_SPECIAL2_PASCAL_CHAR = 0x1;
a61af66fc99e Initial load
duke
parents:
diff changeset
312 // Really int type
a61af66fc99e Initial load
duke
parents:
diff changeset
313 public static final int RESERVED_SIZE_REALLY_INT_CHAR = 0x0;
a61af66fc99e Initial load
duke
parents:
diff changeset
314 public static final int RESERVED_SIZE_REALLY_INT_WCHAR = 0x1;
a61af66fc99e Initial load
duke
parents:
diff changeset
315 public static final int RESERVED_SIZE_REALLY_INT_2_BYTE = 0x2; // 2 byte signed integer
a61af66fc99e Initial load
duke
parents:
diff changeset
316 public static final int RESERVED_SIZE_REALLY_INT_2_BYTE_U = 0x3; // 2 byte unsigned integer
a61af66fc99e Initial load
duke
parents:
diff changeset
317 public static final int RESERVED_SIZE_REALLY_INT_4_BYTE = 0x4; // 4 byte signed integer
a61af66fc99e Initial load
duke
parents:
diff changeset
318 public static final int RESERVED_SIZE_REALLY_INT_4_BYTE_U = 0x5; // 4 byte unsigned integer
a61af66fc99e Initial load
duke
parents:
diff changeset
319 public static final int RESERVED_SIZE_REALLY_INT_8_BYTE = 0x6; // 8 byte signed integer
a61af66fc99e Initial load
duke
parents:
diff changeset
320 public static final int RESERVED_SIZE_REALLY_INT_8_BYTE_U = 0x7; // 8 byte unsigned integer
a61af66fc99e Initial load
duke
parents:
diff changeset
321 }