Mercurial > hg > truffle
comparison src/share/vm/oops/oop.inline.hpp @ 4137:04b9a2566eec
Merge with hsx23/hotspot.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sat, 17 Dec 2011 21:40:27 +0100 |
parents | 0654ee04b214 b0efc7ee3b31 |
children | e522a00b91aa |
comparison
equal
deleted
inserted
replaced
3737:9dc19b7d89a3 | 4137:04b9a2566eec |
---|---|
319 inline oop oopDesc::obj_field(int offset) const { | 319 inline oop oopDesc::obj_field(int offset) const { |
320 return UseCompressedOops ? | 320 return UseCompressedOops ? |
321 load_decode_heap_oop(obj_field_addr<narrowOop>(offset)) : | 321 load_decode_heap_oop(obj_field_addr<narrowOop>(offset)) : |
322 load_decode_heap_oop(obj_field_addr<oop>(offset)); | 322 load_decode_heap_oop(obj_field_addr<oop>(offset)); |
323 } | 323 } |
324 inline volatile oop oopDesc::obj_field_volatile(int offset) const { | |
325 volatile oop value = obj_field(offset); | |
326 OrderAccess::acquire(); | |
327 return value; | |
328 } | |
324 inline void oopDesc::obj_field_put(int offset, oop value) { | 329 inline void oopDesc::obj_field_put(int offset, oop value) { |
325 UseCompressedOops ? oop_store(obj_field_addr<narrowOop>(offset), value) : | 330 UseCompressedOops ? oop_store(obj_field_addr<narrowOop>(offset), value) : |
326 oop_store(obj_field_addr<oop>(offset), value); | 331 oop_store(obj_field_addr<oop>(offset), value); |
327 } | 332 } |
328 inline void oopDesc::obj_field_raw_put(int offset, oop value) { | 333 inline void oopDesc::obj_field_put_raw(int offset, oop value) { |
329 UseCompressedOops ? | 334 UseCompressedOops ? |
330 encode_store_heap_oop(obj_field_addr<narrowOop>(offset), value) : | 335 encode_store_heap_oop(obj_field_addr<narrowOop>(offset), value) : |
331 encode_store_heap_oop(obj_field_addr<oop>(offset), value); | 336 encode_store_heap_oop(obj_field_addr<oop>(offset), value); |
337 } | |
338 inline void oopDesc::obj_field_put_volatile(int offset, oop value) { | |
339 OrderAccess::release(); | |
340 obj_field_put(offset, value); | |
341 OrderAccess::fence(); | |
332 } | 342 } |
333 | 343 |
334 inline jbyte oopDesc::byte_field(int offset) const { return (jbyte) *byte_field_addr(offset); } | 344 inline jbyte oopDesc::byte_field(int offset) const { return (jbyte) *byte_field_addr(offset); } |
335 inline void oopDesc::byte_field_put(int offset, jbyte contents) { *byte_field_addr(offset) = (jint) contents; } | 345 inline void oopDesc::byte_field_put(int offset, jbyte contents) { *byte_field_addr(offset) = (jint) contents; } |
336 | 346 |