equal
deleted
inserted
replaced
862 } |
862 } |
863 } |
863 } |
864 if (p != NULL) { |
864 if (p != NULL) { |
865 HeapWord* cur_top, *cur_chunk_top = p + size; |
865 HeapWord* cur_top, *cur_chunk_top = p + size; |
866 while ((cur_top = top()) < cur_chunk_top) { // Keep _top updated. |
866 while ((cur_top = top()) < cur_chunk_top) { // Keep _top updated. |
867 if (Atomic::cmpxchg(cur_chunk_top, top_addr(), cur_top) == cur_top) { |
867 if (Atomic::cmpxchg(top_addr(), cur_top, cur_chunk_top) == cur_top) { |
868 break; |
868 break; |
869 } |
869 } |
870 } |
870 } |
871 } |
871 } |
872 |
872 |