jimage seems to add just enough instances to the heap to cross the test boundary.
jimage change alone doesn't make the test to fails. But applied on top of 24-June-2015 hs-rt, it fails.
For now we are ignoring it (as suggested by test owner).
Motivation:
The test wants to find out whether the GC properly aligns objects in the
survivor space by checking whether a fixed amount of objects with a
given size gets "expanded" to the right amount of memory after it has
been copied with alignment.
This is problematic because if somebody else than the test allocated
some memory on the Java heap inbetween, then it fails. There is this 1M
slack to avoid that. That slack has basically been sized to "work".
There is also some detection if some other threads, like an attached VM
agent, allocates memory inbetween, but that one is not particularly
good. (E.g. in https://bugs.openjdk.java.net/browse/JDK-8081688 it very
often detects this situation wrongly, making the test pass without
checking anything).
So if for some reason with the change you have the VM allocates more
Java objects during the test period (like if some background thread is
still busy loading non-essential classes when the test is running, and
this additional memory use is intentional/known/okay), the test breaks.