311 bool cas_forward_to(oop p, markOop compare); 312 313 #if INCLUDE_ALL_GCS 314 // Like "forward_to", but inserts the forwarding pointer atomically. 315 // Exactly one thread succeeds in inserting the forwarding pointer, and 316 // this call returns "NULL" for that thread; any other thread has the 317 // value of the forwarding pointer returned and does not modify "this". 318 oop forward_to_atomic(oop p); 319 #endif // INCLUDE_ALL_GCS 320 321 oop forwardee() const; 322 323 // Age of object during scavenge 324 uint age() const; 325 void incr_age(); 326 327 // Adjust all pointers in this object to point at it's forwarded location and 328 // return the size of this oop. This is used by the MarkSweep collector. 329 int adjust_pointers(); 330 331 #if INCLUDE_ALL_GCS 332 // Parallel old 333 void update_header(ParCompactionManager* cm); 334 #endif // INCLUDE_ALL_GCS 335 336 // mark-sweep support 337 void follow_body(int begin, int end); 338 339 // Fast access to barrier set 340 static BarrierSet* bs() { return _bs; } 341 static void set_bs(BarrierSet* bs) { _bs = bs; } 342 343 // iterators, returns size of object 344 #define OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ 345 int oop_iterate(OopClosureType* blk); \ 346 int oop_iterate(OopClosureType* blk, MemRegion mr); // Only in mr. 347 348 ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_DECL) 349 ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_DECL) 350 351 #if INCLUDE_ALL_GCS 352 353 #define OOP_ITERATE_BACKWARDS_DECL(OopClosureType, nv_suffix) \ 354 int oop_iterate_backwards(OopClosureType* blk); 355 | 311 bool cas_forward_to(oop p, markOop compare); 312 313 #if INCLUDE_ALL_GCS 314 // Like "forward_to", but inserts the forwarding pointer atomically. 315 // Exactly one thread succeeds in inserting the forwarding pointer, and 316 // this call returns "NULL" for that thread; any other thread has the 317 // value of the forwarding pointer returned and does not modify "this". 318 oop forward_to_atomic(oop p); 319 #endif // INCLUDE_ALL_GCS 320 321 oop forwardee() const; 322 323 // Age of object during scavenge 324 uint age() const; 325 void incr_age(); 326 327 // Adjust all pointers in this object to point at it's forwarded location and 328 // return the size of this oop. This is used by the MarkSweep collector. 329 int adjust_pointers(); 330 331 // mark-sweep support 332 void follow_body(int begin, int end); 333 334 // Fast access to barrier set 335 static BarrierSet* bs() { return _bs; } 336 static void set_bs(BarrierSet* bs) { _bs = bs; } 337 338 // iterators, returns size of object 339 #define OOP_ITERATE_DECL(OopClosureType, nv_suffix) \ 340 int oop_iterate(OopClosureType* blk); \ 341 int oop_iterate(OopClosureType* blk, MemRegion mr); // Only in mr. 342 343 ALL_OOP_OOP_ITERATE_CLOSURES_1(OOP_ITERATE_DECL) 344 ALL_OOP_OOP_ITERATE_CLOSURES_2(OOP_ITERATE_DECL) 345 346 #if INCLUDE_ALL_GCS 347 348 #define OOP_ITERATE_BACKWARDS_DECL(OopClosureType, nv_suffix) \ 349 int oop_iterate_backwards(OopClosureType* blk); 350 |