comparison src/share/vm/c1x/c1x_TargetMethod.hpp @ 1434:72cfb36c6bb2

* enabled all jtt tests * added proxy that counts jni calls * honor hotspot stackshadowpages * constant pool caching * monitor enter/exit * arithmetic stubs (frem, drem, ...) * create stack values for debug info * some doc
author Lukas Stadler <lukas.stadler@oracle.com>
date Thu, 30 Sep 2010 17:19:48 -0700
parents efba53f86c4f
children 20a3896518ac
comparison
equal deleted inserted replaced
1433:efba53f86c4f 1434:72cfb36c6bb2
22 * 22 *
23 */ 23 */
24 24
25 void c1x_compute_offsets(); 25 void c1x_compute_offsets();
26 26
27 // defines the structure of the CiTargetMethod - classes 27 /* This macro defines the structure of the CiTargetMethod - classes.
28 // this will generate classes with accessors similar to javaClasses.hpp 28 * It will generate classes with accessors similar to javaClasses.hpp, but with specializations for oops, Handles and jni handles.
29 *
30 * The public interface of these classes will look like this:
31
32 * class CiStackSlot : AllStatic {
33 * public:
34 * static klassOop klass();
35 * static jint index(oop obj);
36 * static jint index(Handle obj);
37 * static jint index(jobject obj);
38 * static void set_index(oop obj, jint x);
39 * static void set_index(Handle obj, jint x);
40 * static void set_index(jobject obj, jint x);
41 * };
42 *
43 */
29 44
30 #define COMPILER_CLASSES_DO(start_class, end_class, char_field, int_field, boolean_field, long_field, oop_field, static_oop_field) \ 45 #define COMPILER_CLASSES_DO(start_class, end_class, char_field, int_field, boolean_field, long_field, oop_field, static_oop_field) \
31 start_class(HotSpotTypeResolved) \ 46 start_class(HotSpotTypeResolved) \
32 long_field(HotSpotTypeResolved, vmId) \ 47 long_field(HotSpotTypeResolved, vmId) \
33 long_field(HotSpotTypeResolved, javaMirrorVmId) \ 48 long_field(HotSpotTypeResolved, javaMirrorVmId) \
140 static_oop_field(CiRuntimeCall, ArithmeticLog10, "Lcom/sun/cri/ci/CiRuntimeCall;"); \ 155 static_oop_field(CiRuntimeCall, ArithmeticLog10, "Lcom/sun/cri/ci/CiRuntimeCall;"); \
141 static_oop_field(CiRuntimeCall, ArithmeticSin, "Lcom/sun/cri/ci/CiRuntimeCall;"); \ 156 static_oop_field(CiRuntimeCall, ArithmeticSin, "Lcom/sun/cri/ci/CiRuntimeCall;"); \
142 end_class \ 157 end_class \
143 start_class(RiMethod) \ 158 start_class(RiMethod) \
144 end_class \ 159 end_class \
160 start_class(CiValue) \
161 oop_field(CiValue, kind, "Lcom/sun/cri/ci/CiKind;") \
162 static_oop_field(CiValue, IllegalValue, "Lcom/sun/cri/ci/CiValue;"); \
163 end_class \
145 start_class(CiRegisterValue) \ 164 start_class(CiRegisterValue) \
165 oop_field(CiRegisterValue, _register, "Lcom/sun/cri/ci/CiRegister;") \
166 end_class \
167 start_class(CiRegister) \
168 int_field(CiRegister, number) \
146 end_class \ 169 end_class \
147 start_class(CiStackSlot) \ 170 start_class(CiStackSlot) \
171 int_field(CiStackSlot, index) \
148 end_class \ 172 end_class \
149 /* end*/ 173 /* end*/
150 174
151 175
152 176