sinterface IManagedObjectCollector { // notify collector that there is an object in a location public void noteObject(int start, int size); // same plus callback after compaction public void noteObject(int start, int size, IVF1 updateAddress); // notify collector that there is a pointer in a location public void notePointer(int addr, IVF1 updateAddress); default public void notePointer(int addr) { notePointer(addr, null); } public void noteRootPointer(int addr); // notify collector that there is a pointer array in a location public void notePointerArray(int start); // notify collector that there is an int array in a location public void noteIntArray(int start); void noteString(int addr, IVF1 updateAddress); //default void noteString(int addr) { noteString(addr, null); } // call after collectAndCompact to get new location of objects int getNewLocation(int addr); }