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