When large allocation fails, current implementation only grows heap by 1 and retry. This is slightly inefficient. We can grow the heap by required regions at once, to avoid unnecessary loop. http://cr.openjdk.java.net/~zgu/shenandoah/large_alloc/webrev.00/ Thanks, -Zhengyu