270 void print_address_on(outputStream* st) const; // Address printing 271 272 // printing on default output stream 273 void print(); 274 void print_value(); 275 void print_address(); 276 277 // return the print strings 278 char* print_string(); 279 char* print_value_string(); 280 281 // verification operations 282 void verify_on(outputStream* st); 283 void verify(); 284 285 // locking operations 286 inline bool is_locked() const; 287 inline bool is_unlocked() const; 288 inline bool has_bias_pattern() const; 289 290 // asserts 291 inline bool is_oop(bool ignore_mark_word = false) const; 292 inline bool is_oop_or_null(bool ignore_mark_word = false) const; 293 #ifndef PRODUCT 294 inline bool is_unlocked_oop() const; 295 #endif 296 297 // garbage collection 298 inline bool is_gc_marked() const; 299 300 inline bool is_scavengable() const; 301 302 // Forward pointer operations for scavenge 303 inline bool is_forwarded() const; 304 305 inline void forward_to(oop p); 306 inline bool cas_forward_to(oop p, markOop compare); 307 308 #if INCLUDE_ALL_GCS 309 // Like "forward_to", but inserts the forwarding pointer atomically. 310 // Exactly one thread succeeds in inserting the forwarding pointer, and 311 // this call returns "NULL" for that thread; any other thread has the 312 // value of the forwarding pointer returned and does not modify "this". | 270 void print_address_on(outputStream* st) const; // Address printing 271 272 // printing on default output stream 273 void print(); 274 void print_value(); 275 void print_address(); 276 277 // return the print strings 278 char* print_string(); 279 char* print_value_string(); 280 281 // verification operations 282 void verify_on(outputStream* st); 283 void verify(); 284 285 // locking operations 286 inline bool is_locked() const; 287 inline bool is_unlocked() const; 288 inline bool has_bias_pattern() const; 289 290 // asserts and guarantees 291 static bool is_oop(oop obj, bool ignore_mark_word = false); 292 static bool is_oop_or_null(oop obj, bool ignore_mark_word = false); 293 #ifndef PRODUCT 294 inline bool is_unlocked_oop() const; 295 #endif 296 297 // garbage collection 298 inline bool is_gc_marked() const; 299 300 inline bool is_scavengable() const; 301 302 // Forward pointer operations for scavenge 303 inline bool is_forwarded() const; 304 305 inline void forward_to(oop p); 306 inline bool cas_forward_to(oop p, markOop compare); 307 308 #if INCLUDE_ALL_GCS 309 // Like "forward_to", but inserts the forwarding pointer atomically. 310 // Exactly one thread succeeds in inserting the forwarding pointer, and 311 // this call returns "NULL" for that thread; any other thread has the 312 // value of the forwarding pointer returned and does not modify "this". |