ART: Add option to ensure deterministic compilation
To ensure reliable stable generation of a boot image, add a flag
for forced determinism, trading compile time for a deterministic
We have to run certain passes in the compiler-driver single-threaded.
It is also necessary to try to make the heap layout deterministic.
Switch to nonconcurrent GC, use the free-list implementation for LOS,
and try to allocate the main space at a known location. This is best
effort at the moment.
To allow the compiler phase to be parallelized, const-strings need
to be created beforehand.
The identity hashcode seed needs to be pinned.
Besides the Dex object we also need to null the DexFile pointer in
For classes, we need to remove the clinit thread ID.
Fix oatdump alignment padding accounting.
11 files changed