equal
deleted
inserted
replaced
213 bool MutableSpace::cas_deallocate(HeapWord *obj, size_t size) { |
213 bool MutableSpace::cas_deallocate(HeapWord *obj, size_t size) { |
214 HeapWord* expected_top = obj + size; |
214 HeapWord* expected_top = obj + size; |
215 return Atomic::cmpxchg(obj, top_addr(), expected_top) == expected_top; |
215 return Atomic::cmpxchg(obj, top_addr(), expected_top) == expected_top; |
216 } |
216 } |
217 |
217 |
218 void MutableSpace::oop_iterate_no_header(OopClosure* cl) { |
218 void MutableSpace::oop_iterate(OopIterateClosure* cl) { |
219 HeapWord* obj_addr = bottom(); |
219 HeapWord* obj_addr = bottom(); |
220 HeapWord* t = top(); |
220 HeapWord* t = top(); |
221 // Could call objects iterate, but this is easier. |
221 // Could call objects iterate, but this is easier. |
222 while (obj_addr < t) { |
222 while (obj_addr < t) { |
223 obj_addr += oop(obj_addr)->oop_iterate_no_header(cl); |
223 obj_addr += oop(obj_addr)->oop_iterate_size(cl); |
224 } |
224 } |
225 } |
225 } |
226 |
226 |
227 void MutableSpace::object_iterate(ObjectClosure* cl) { |
227 void MutableSpace::object_iterate(ObjectClosure* cl) { |
228 HeapWord* p = bottom(); |
228 HeapWord* p = bottom(); |