comparison src/share/vm/graal/graalJavaAccess.hpp @ 3662:e0bbc6b1c4a1

Fixed wrong type transition.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Thu, 17 Nov 2011 18:02:12 +0100
parents d24f157f2ba8
children 5c8fc9f05960
comparison
equal deleted inserted replaced
3661:d24f157f2ba8 3662:e0bbc6b1c4a1
236 #define END_CLASS }; 236 #define END_CLASS };
237 237
238 #define FIELD(name, type, accessor) \ 238 #define FIELD(name, type, accessor) \
239 static int _##name##_offset; \ 239 static int _##name##_offset; \
240 static type name(oop obj) { check(obj); return obj->accessor(_##name##_offset); } \ 240 static type name(oop obj) { check(obj); return obj->accessor(_##name##_offset); } \
241 static type name(Handle obj) { check(obj()); return obj->accessor(_##name##_offset); } \ 241 static type name(Handle& obj) { check(obj()); return obj->accessor(_##name##_offset); } \
242 static type name(jobject obj) { check(JNIHandles::resolve(obj)); return JNIHandles::resolve(obj)->accessor(_##name##_offset); } \ 242 static type name(jobject obj) { check(JNIHandles::resolve(obj)); return JNIHandles::resolve(obj)->accessor(_##name##_offset); } \
243 static void set_##name(oop obj, type x) { check(obj); obj->accessor##_put(_##name##_offset, x); } \ 243 static void set_##name(oop obj, type x) { check(obj); obj->accessor##_put(_##name##_offset, x); } \
244 static void set_##name(Handle obj, type x) { check(obj()); obj->accessor##_put(_##name##_offset, x); } \ 244 static void set_##name(Handle& obj, type x) { check(obj()); obj->accessor##_put(_##name##_offset, x); } \
245 static void set_##name(jobject obj, type x) { check(JNIHandles::resolve(obj)); JNIHandles::resolve(obj)->accessor##_put(_##name##_offset, x); } 245 static void set_##name(jobject obj, type x) { check(JNIHandles::resolve(obj)); JNIHandles::resolve(obj)->accessor##_put(_##name##_offset, x); }
246 246
247 #define CHAR_FIELD(klass, name) FIELD(name, jchar, char_field) 247 #define CHAR_FIELD(klass, name) FIELD(name, jchar, char_field)
248 #define INT_FIELD(klass, name) FIELD(name, jint, int_field) 248 #define INT_FIELD(klass, name) FIELD(name, jint, int_field)
249 #define BOOLEAN_FIELD(klass, name) FIELD(name, jboolean, bool_field) 249 #define BOOLEAN_FIELD(klass, name) FIELD(name, jboolean, bool_field)