Mercurial > hg > truffle
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 |