187 static inline void release_encode_store_heap_oop_not_null(volatile narrowOop* p, oop v); 188 static inline void release_encode_store_heap_oop_not_null(volatile oop* p, oop v); 189 static inline void release_encode_store_heap_oop(volatile narrowOop* p, oop v); 190 static inline void release_encode_store_heap_oop(volatile oop* p, oop v); 191 192 static inline oop atomic_exchange_oop(oop exchange_value, volatile HeapWord *dest); 193 static inline oop atomic_compare_exchange_oop(oop exchange_value, 194 volatile HeapWord *dest, 195 oop compare_value, 196 bool prebarrier = false); 197 198 // Access to fields in a instanceOop through these methods. 199 inline oop obj_field(int offset) const; 200 inline void obj_field_put(int offset, oop value); 201 inline void obj_field_put_raw(int offset, oop value); 202 inline void obj_field_put_volatile(int offset, oop value); 203 204 inline Metadata* metadata_field(int offset) const; 205 inline void metadata_field_put(int offset, Metadata* value); 206 207 inline jbyte byte_field(int offset) const; 208 inline void byte_field_put(int offset, jbyte contents); 209 210 inline jchar char_field(int offset) const; 211 inline void char_field_put(int offset, jchar contents); 212 213 inline jboolean bool_field(int offset) const; 214 inline void bool_field_put(int offset, jboolean contents); 215 216 inline jint int_field(int offset) const; 217 inline void int_field_put(int offset, jint contents); 218 219 inline jshort short_field(int offset) const; 220 inline void short_field_put(int offset, jshort contents); 221 222 inline jlong long_field(int offset) const; 223 inline void long_field_put(int offset, jlong contents); 224 225 inline jfloat float_field(int offset) const; 226 inline void float_field_put(int offset, jfloat contents); | 187 static inline void release_encode_store_heap_oop_not_null(volatile narrowOop* p, oop v); 188 static inline void release_encode_store_heap_oop_not_null(volatile oop* p, oop v); 189 static inline void release_encode_store_heap_oop(volatile narrowOop* p, oop v); 190 static inline void release_encode_store_heap_oop(volatile oop* p, oop v); 191 192 static inline oop atomic_exchange_oop(oop exchange_value, volatile HeapWord *dest); 193 static inline oop atomic_compare_exchange_oop(oop exchange_value, 194 volatile HeapWord *dest, 195 oop compare_value, 196 bool prebarrier = false); 197 198 // Access to fields in a instanceOop through these methods. 199 inline oop obj_field(int offset) const; 200 inline void obj_field_put(int offset, oop value); 201 inline void obj_field_put_raw(int offset, oop value); 202 inline void obj_field_put_volatile(int offset, oop value); 203 204 inline Metadata* metadata_field(int offset) const; 205 inline void metadata_field_put(int offset, Metadata* value); 206 207 inline void metadata_field_put_volatile(int offset, Metadata* value); 208 209 inline jbyte byte_field(int offset) const; 210 inline void byte_field_put(int offset, jbyte contents); 211 212 inline jchar char_field(int offset) const; 213 inline void char_field_put(int offset, jchar contents); 214 215 inline jboolean bool_field(int offset) const; 216 inline void bool_field_put(int offset, jboolean contents); 217 218 inline jint int_field(int offset) const; 219 inline void int_field_put(int offset, jint contents); 220 221 inline jshort short_field(int offset) const; 222 inline void short_field_put(int offset, jshort contents); 223 224 inline jlong long_field(int offset) const; 225 inline void long_field_put(int offset, jlong contents); 226 227 inline jfloat float_field(int offset) const; 228 inline void float_field_put(int offset, jfloat contents); |