src/hotspot/share/gc/z/zObjectAllocator.cpp
changeset 59252 623722a6aeb9
parent 59249 29b0d0b61615
equal deleted inserted replaced
59251:4cbfa5077d68 59252:623722a6aeb9
    95       // Allocate object before installing the new page
    95       // Allocate object before installing the new page
    96       addr = new_page->alloc_object(size);
    96       addr = new_page->alloc_object(size);
    97 
    97 
    98     retry:
    98     retry:
    99       // Install new page
    99       // Install new page
   100       ZPage* const prev_page = Atomic::cmpxchg(new_page, shared_page, page);
   100       ZPage* const prev_page = Atomic::cmpxchg(shared_page, page, new_page);
   101       if (prev_page != page) {
   101       if (prev_page != page) {
   102         if (prev_page == NULL) {
   102         if (prev_page == NULL) {
   103           // Previous page was retired, retry installing the new page
   103           // Previous page was retired, retry installing the new page
   104           page = prev_page;
   104           page = prev_page;
   105           goto retry;
   105           goto retry;