Fall back to Quick when Optimizing cannot compile.
Currently applies when seeing unresolved types/methods/fields,
and methods with try/catch.
Change-Id: I93b12d440b39f0b9faf98f08f2bfddedfeff7182
diff --git a/compiler/dex/pass_driver_me_opts.h b/compiler/dex/pass_driver_me_opts.h
index b930d02..e94c189 100644
--- a/compiler/dex/pass_driver_me_opts.h
+++ b/compiler/dex/pass_driver_me_opts.h
@@ -29,8 +29,10 @@
class PassDriverMEOpts : public PassDriverME {
public:
- explicit PassDriverMEOpts(const PassManager* const manager, CompilationUnit* cu)
- : PassDriverME(manager, cu) {
+ explicit PassDriverMEOpts(const PassManager* const manager,
+ const PassManager* const post_opt_pass_manager,
+ CompilationUnit* cu)
+ : PassDriverME(manager, cu), post_opt_pass_manager_(post_opt_pass_manager) {
}
~PassDriverMEOpts() {
@@ -45,6 +47,8 @@
* @brief Apply a patch: perform start/work/end functions.
*/
virtual void ApplyPass(PassDataHolder* data, const Pass* pass) OVERRIDE;
+
+ const PassManager* const post_opt_pass_manager_;
};
} // namespace art