Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/oop.inline.hpp @ 3932:b0efc7ee3b31
7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods
Reviewed-by: jrose, never
author | twisti |
---|---|
date | Thu, 08 Sep 2011 05:11:31 -0700 |
parents | c7f3d0b4570f |
children | 04b9a2566eec da91efe96a93 |
comparison
equal
deleted
inserted
replaced
3931:5432047c7db7 | 3932:b0efc7ee3b31 |
---|---|
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 |