equal
deleted
inserted
replaced
71 // The next pointer is a compressed oop stored in the top 32 bits |
71 // The next pointer is a compressed oop stored in the top 32 bits |
72 res = (PromotedObject*)oopDesc::decode_heap_oop(_data._narrow_next); |
72 res = (PromotedObject*)oopDesc::decode_heap_oop(_data._narrow_next); |
73 } else { |
73 } else { |
74 res = (PromotedObject*)(_next & next_mask); |
74 res = (PromotedObject*)(_next & next_mask); |
75 } |
75 } |
76 assert(oop(res)->is_oop_or_null(true /* ignore mark word */), err_msg("Expected an oop or NULL at " PTR_FORMAT, p2i(oop(res)))); |
76 assert(oop(res)->is_oop_or_null(true /* ignore mark word */), "Expected an oop or NULL at " PTR_FORMAT, p2i(oop(res))); |
77 return res; |
77 return res; |
78 } |
78 } |
79 inline void setNext(PromotedObject* x) { |
79 inline void setNext(PromotedObject* x) { |
80 assert(((intptr_t)x & ~next_mask) == 0, "Conflict in bit usage, " |
80 assert(((intptr_t)x & ~next_mask) == 0, "Conflict in bit usage, " |
81 "or insufficient alignment of objects"); |
81 "or insufficient alignment of objects"); |