--- old/src/share/vm/memory/allocation.cpp Wed May 28 02:37:02 2014 +++ new/src/share/vm/memory/allocation.cpp Wed May 28 02:37:00 2014 @@ -563,6 +563,7 @@ _chunk = new (alloc_failmode, len) Chunk(len); if (_chunk == NULL) { + _chunk = k; // restore the value of _chunk return NULL; } if (k) k->set_next(_chunk); // Append new chunk to end of linked list