public class GC {

  private static void small() {
    for (int i = 0; i < 1024; ++i) {
      byte[] a = new byte[4 * 1024];
    }
  }

  private static void medium() {
    for (int i = 0; i < 8; ++i) {
      Object[] array = new Object[32];
      for (int j = 0; j < 32; ++j) {
        array[j] = new byte[32 * 1024];
      }
    }
  }

  private static void large() {
    for (int i = 0; i < 8; ++i) {
      byte[] a = new byte[16 * 1024 * 1024];
    }

    for (int i = 0; i < 8; ++i) {
      byte[] a = new byte[16 * 1024 * 1024];
      for (int j = 0; j < 32; ++j) {
        byte[] b = new byte[32 * 1024];
      }
    }
  }

  public static void main(String[] args) {
    small();
    medium();
    large();
  }

}

@@ -675,40 +675,254 @@
     
-small();%0A    medium();%0A    large
+Object%5B%5D array = new Object%5B1024 * 1024%5D;%0A    array%5B0%5D = new Object();%0A%0A    small();%0A%0A    array%5B1%5D = new Object();%0A%0A    medium();%0A%0A    array%5B2%5D = new Object();%0A%0A    large();%0A%0A    array%5B0%5D.toString();%0A    array%5B1%5D.toString();%0A    array%5B2%5D.toString
 ();%0A

test fixed-sized object support in GC.java