From c751d37e692d89b360f3c09421401f581b5c6d06 Mon Sep 17 00:00:00 2001 From: Calin Juravle Date: Wed, 1 Apr 2015 20:27:28 +0100 Subject: Fallback to quick in case of soft verification errors Add a regression test: using uninitialized values triggers a soft verification error and optimizing should not crash. Thanks to Stephen Kyle (stephenckyle@googlemail.com) for the bug report. Bug: 19988704 Change-Id: I2493f737efd3fad72f6b41fb60eff1d3731613fb --- compiler/driver/compiler_driver.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'compiler/driver/compiler_driver.h') diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h index a6ed5590dc..b3ca25bed2 100644 --- a/compiler/driver/compiler_driver.h +++ b/compiler/driver/compiler_driver.h @@ -425,6 +425,10 @@ class CompilerDriver { void RecordClassStatus(ClassReference ref, mirror::Class::Status status) LOCKS_EXCLUDED(compiled_classes_lock_); + // Checks if the specified method has been verified without failures. Returns + // false if the method is not in the verification results (GetVerificationResults). + bool IsMethodVerifiedWithoutFailures(uint32_t method_idx, const DexFile& dex_file) const; + SwapVector* DeduplicateCode(const ArrayRef& code); SwapSrcMap* DeduplicateSrcMappingTable(const ArrayRef& src_map); SwapVector* DeduplicateMappingTable(const ArrayRef& code); -- cgit v1.2.3-59-g8ed1b