Mercurial > hg > truffle
comparison src/share/vm/graal/graalJavaAccess.hpp @ 3661:d24f157f2ba8
Use write barrier in JavaAccess. Fixed thread transition bug.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 17 Nov 2011 17:45:34 +0100 |
parents | 5e9645341ec3 |
children | e0bbc6b1c4a1 |
comparison
equal
deleted
inserted
replaced
3660:c805dfba251d | 3661:d24f157f2ba8 |
---|---|
263 } \ | 263 } \ |
264 static void set_##name(oop x) { \ | 264 static void set_##name(oop x) { \ |
265 instanceKlass* ik = instanceKlass::cast(klassName::klass()); \ | 265 instanceKlass* ik = instanceKlass::cast(klassName::klass()); \ |
266 address addr = ik->static_field_addr(_##name##_offset - instanceMirrorKlass::offset_of_static_fields()); \ | 266 address addr = ik->static_field_addr(_##name##_offset - instanceMirrorKlass::offset_of_static_fields()); \ |
267 if (UseCompressedOops) { \ | 267 if (UseCompressedOops) { \ |
268 oopDesc::encode_store_heap_oop((narrowOop *)addr, x); \ | 268 oop_store((narrowOop *)addr, x); \ |
269 } else { \ | 269 } else { \ |
270 oopDesc::encode_store_heap_oop((oop*)addr, x); \ | 270 oop_store((oop*)addr, x); \ |
271 } \ | 271 } \ |
272 } | 272 } |
273 COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, BOOLEAN_FIELD, LONG_FIELD, FLOAT_FIELD, OOP_FIELD, STATIC_OOP_FIELD) | 273 COMPILER_CLASSES_DO(START_CLASS, END_CLASS, CHAR_FIELD, INT_FIELD, BOOLEAN_FIELD, LONG_FIELD, FLOAT_FIELD, OOP_FIELD, STATIC_OOP_FIELD) |
274 #undef START_CLASS | 274 #undef START_CLASS |
275 #undef END_CLASS | 275 #undef END_CLASS |