comparison src/share/vm/graal/graalJavaAccess.cpp @ 2926:0e3ec0a4eda4

RiTypeProfile information and invocation counters for RiMethods
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 09 Jun 2011 15:25:27 +0200
parents 75a99b4f1c98
children a59727158259
comparison
equal deleted inserted replaced
2925:b78b4ae0757c 2926:0e3ec0a4eda4
59 #define FIELD(klass, name, signature, static_field) compute_offset(klass::_##name##_offset, k, #name, signature, static_field); 59 #define FIELD(klass, name, signature, static_field) compute_offset(klass::_##name##_offset, k, #name, signature, static_field);
60 #define CHAR_FIELD(klass, name) FIELD(klass, name, "C", false) 60 #define CHAR_FIELD(klass, name) FIELD(klass, name, "C", false)
61 #define INT_FIELD(klass, name) FIELD(klass, name, "I", false) 61 #define INT_FIELD(klass, name) FIELD(klass, name, "I", false)
62 #define BOOLEAN_FIELD(klass, name) FIELD(klass, name, "Z", false) 62 #define BOOLEAN_FIELD(klass, name) FIELD(klass, name, "Z", false)
63 #define LONG_FIELD(klass, name) FIELD(klass, name, "J", false) 63 #define LONG_FIELD(klass, name) FIELD(klass, name, "J", false)
64 #define FLOAT_FIELD(klass, name) FIELD(klass, name, "F", false)
64 #define OOP_FIELD(klass, name, signature) FIELD(klass, name, signature, false) 65 #define OOP_FIELD(klass, name, signature) FIELD(klass, name, signature, false)
65 #define STATIC_OOP_FIELD(klass, name, signature) FIELD(klass, name, signature, true) 66 #define STATIC_OOP_FIELD(klass, name, signature) FIELD(klass, name, signature, true)
66 67
67 68
68 void graal_compute_offsets() { 69 void graal_compute_offsets() {
69 COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, BOOLEAN_FIELD, LONG_FIELD, OOP_FIELD, STATIC_OOP_FIELD) 70 COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, BOOLEAN_FIELD, LONG_FIELD, FLOAT_FIELD, OOP_FIELD, STATIC_OOP_FIELD)
70 } 71 }
71 72
72 #define EMPTY0 73 #define EMPTY0
73 #define EMPTY1(x) 74 #define EMPTY1(x)
74 #define EMPTY2(x,y) 75 #define EMPTY2(x,y)
75 #define FIELD2(klass, name) int klass::_##name##_offset = 0; 76 #define FIELD2(klass, name) int klass::_##name##_offset = 0;
76 #define FIELD3(klass, name, sig) FIELD2(klass, name) 77 #define FIELD3(klass, name, sig) FIELD2(klass, name)
77 78
78 COMPILER_CLASSES_DO(EMPTY1, EMPTY0, FIELD2, FIELD2, FIELD2, FIELD2, FIELD3, FIELD3) 79 COMPILER_CLASSES_DO(EMPTY1, EMPTY0, FIELD2, FIELD2, FIELD2, FIELD2, FIELD2, FIELD3, FIELD3)
79 80
80 81
81 82
82 83
83 84