< prev index next >

src/share/vm/oops/oop.hpp

Print this page




 281   char* print_value_string();
 282 
 283   // verification operations
 284   void verify_on(outputStream* st);
 285   void verify();
 286 
 287   // locking operations
 288   bool is_locked()   const;
 289   bool is_unlocked() const;
 290   bool has_bias_pattern() const;
 291 
 292   // asserts
 293   bool is_oop(bool ignore_mark_word = false) const;
 294   bool is_oop_or_null(bool ignore_mark_word = false) const;
 295 #ifndef PRODUCT
 296   bool is_unlocked_oop() const;
 297 #endif
 298 
 299   // garbage collection
 300   bool is_gc_marked() const;
 301   // Apply "MarkSweep::mark_and_push" to (the address of) every non-NULL
 302   // reference field in "this".
 303   void follow_contents(void);
 304 
 305 #if INCLUDE_ALL_GCS
 306   // Parallel Scavenge
 307   void push_contents(PSPromotionManager* pm);
 308 
 309   // Parallel Old
 310   void update_contents(ParCompactionManager* cm);
 311 
 312   void follow_contents(ParCompactionManager* cm);
 313 #endif // INCLUDE_ALL_GCS
 314 
 315   bool is_scavengable() const;
 316 
 317   // Forward pointer operations for scavenge
 318   bool is_forwarded() const;
 319 
 320   void forward_to(oop p);
 321   bool cas_forward_to(oop p, markOop compare);
 322 
 323 #if INCLUDE_ALL_GCS
 324   // Like "forward_to", but inserts the forwarding pointer atomically.
 325   // Exactly one thread succeeds in inserting the forwarding pointer, and
 326   // this call returns "NULL" for that thread; any other thread has the
 327   // value of the forwarding pointer returned and does not modify "this".
 328   oop forward_to_atomic(oop p);
 329 #endif // INCLUDE_ALL_GCS
 330 
 331   oop forwardee() const;
 332 
 333   // Age of object during scavenge
 334   uint age() const;
 335   void incr_age();
 336 
 337   // Adjust all pointers in this object to point at it's forwarded location and
 338   // return the size of this oop.  This is used by the MarkSweep collector.
 339   int adjust_pointers();
 340 
 341   // mark-sweep support
 342   void follow_body(int begin, int end);
 343 
 344   // Fast access to barrier set
 345   static BarrierSet* bs()            { return _bs; }
 346   static void set_bs(BarrierSet* bs) { _bs = bs; }
















 347 
 348   // iterators, returns size of object
 349 #define OOP_ITERATE_DECL(OopClosureType, nv_suffix)                      \
 350   int oop_iterate(OopClosureType* blk);                                  \
 351   int oop_iterate(OopClosureType* blk, MemRegion mr);  // Only in mr.
 352 
 353   ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_DECL)
 354   ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_DECL)
 355 
 356 #if INCLUDE_ALL_GCS
 357 
 358 #define OOP_ITERATE_BACKWARDS_DECL(OopClosureType, nv_suffix)            \
 359   int oop_iterate_backwards(OopClosureType* blk);
 360 
 361   ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_BACKWARDS_DECL)
 362   ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_BACKWARDS_DECL)
 363 #endif
 364 
 365   int oop_iterate_no_header(OopClosure* bk);
 366   int oop_iterate_no_header(OopClosure* bk, MemRegion mr);




 281   char* print_value_string();
 282 
 283   // verification operations
 284   void verify_on(outputStream* st);
 285   void verify();
 286 
 287   // locking operations
 288   bool is_locked()   const;
 289   bool is_unlocked() const;
 290   bool has_bias_pattern() const;
 291 
 292   // asserts
 293   bool is_oop(bool ignore_mark_word = false) const;
 294   bool is_oop_or_null(bool ignore_mark_word = false) const;
 295 #ifndef PRODUCT
 296   bool is_unlocked_oop() const;
 297 #endif
 298 
 299   // garbage collection
 300   bool is_gc_marked() const;













 301 
 302   bool is_scavengable() const;
 303 
 304   // Forward pointer operations for scavenge
 305   bool is_forwarded() const;
 306 
 307   void forward_to(oop p);
 308   bool cas_forward_to(oop p, markOop compare);
 309 
 310 #if INCLUDE_ALL_GCS
 311   // Like "forward_to", but inserts the forwarding pointer atomically.
 312   // Exactly one thread succeeds in inserting the forwarding pointer, and
 313   // this call returns "NULL" for that thread; any other thread has the
 314   // value of the forwarding pointer returned and does not modify "this".
 315   oop forward_to_atomic(oop p);
 316 #endif // INCLUDE_ALL_GCS
 317 
 318   oop forwardee() const;
 319 
 320   // Age of object during scavenge
 321   uint age() const;
 322   void incr_age();
 323 



 324 
 325   // mark-sweep support
 326   void follow_body(int begin, int end);
 327 
 328   // Fast access to barrier set
 329   static BarrierSet* bs()            { return _bs; }
 330   static void set_bs(BarrierSet* bs) { _bs = bs; }
 331 
 332   // Garbage Collection support
 333 
 334   // Mark Sweep
 335   void ms_follow_contents();
 336   // Adjust all pointers in this object to point at it's forwarded location and
 337   // return the size of this oop.  This is used by the MarkSweep collector.
 338   int  ms_adjust_pointers();
 339 #if INCLUDE_ALL_GCS
 340   // Parallel Compact
 341   void pc_follow_contents(ParCompactionManager* pc);
 342   void pc_update_contents();
 343   // Parallel Scavenge
 344   void ps_push_contents(PSPromotionManager* pm);
 345 #endif
 346 
 347 
 348   // iterators, returns size of object
 349 #define OOP_ITERATE_DECL(OopClosureType, nv_suffix)                      \
 350   int oop_iterate(OopClosureType* blk);                                  \
 351   int oop_iterate(OopClosureType* blk, MemRegion mr);  // Only in mr.
 352 
 353   ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_DECL)
 354   ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_DECL)
 355 
 356 #if INCLUDE_ALL_GCS
 357 
 358 #define OOP_ITERATE_BACKWARDS_DECL(OopClosureType, nv_suffix)            \
 359   int oop_iterate_backwards(OopClosureType* blk);
 360 
 361   ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_BACKWARDS_DECL)
 362   ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_BACKWARDS_DECL)
 363 #endif
 364 
 365   int oop_iterate_no_header(OopClosure* bk);
 366   int oop_iterate_no_header(OopClosure* bk, MemRegion mr);


< prev index next >