Delay dex-to-dex compilation until Optimizing is done.
This fixes a race between inlining in the Optimizing backend and dex-to-dex quickening where the Optimizing can read the non-quickened opcode and then the quickened field index or vtable index and look up the wrong field or method. Even if we such tearing of the dex instruction does not happen, the possible reordering of dex-to-dex and Optimizing compilation makes the final oat file non-deterministic. Also, remove VerificationResults::RemoveVerifiedMethod() as we have only the Optimizing backend now and as such it was dead code and would have interfered with this change. Bug: 29043547 Bug: 29089975 (cherry picked from commit 492a7fa6) Change-Id: I1337b772dc69318393845a790e5f6d38aa3de60f
Loading
Please sign in to comment