diff options
author | Vladimir Marko <vmarko@google.com> | 2014-07-08 18:06:45 +0100 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2014-07-08 18:10:53 +0100 |
commit | e8ae81453e1d6c19d7db2001a1e7b1849f74241c (patch) | |
tree | 099da65b5b05a99071e5442d69c06532dc16a8ce /compiler/dex/mir_graph.h | |
parent | 50dffeee9c8f7d3f396ffde30bd6b733e1af72d3 (diff) | |
download | art-e8ae81453e1d6c19d7db2001a1e7b1849f74241c.tar.gz art-e8ae81453e1d6c19d7db2001a1e7b1849f74241c.tar.bz2 art-e8ae81453e1d6c19d7db2001a1e7b1849f74241c.zip |
Workaround for invalid monitor-exit catch ranges.
Avoid bogus exception edges from monitor-exit to a
catch handler that does exactly the same monitor-exit.
Bug: 15745363
Change-Id: I2b8b44b313c470557714744bdfb7beaef2cd2246
Diffstat (limited to 'compiler/dex/mir_graph.h')
-rw-r--r-- | compiler/dex/mir_graph.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/dex/mir_graph.h b/compiler/dex/mir_graph.h index 398c7f641f..f812165e86 100644 --- a/compiler/dex/mir_graph.h +++ b/compiler/dex/mir_graph.h @@ -1063,6 +1063,7 @@ class MIRGraph { BasicBlock* FindBlock(DexOffset code_offset, bool split, bool create, BasicBlock** immed_pred_block_p); void ProcessTryCatchBlocks(); + bool IsBadMonitorExitCatch(NarrowDexOffset monitor_exit_offset, NarrowDexOffset catch_offset); BasicBlock* ProcessCanBranch(BasicBlock* cur_block, MIR* insn, DexOffset cur_offset, int width, int flags, const uint16_t* code_ptr, const uint16_t* code_end); BasicBlock* ProcessCanSwitch(BasicBlock* cur_block, MIR* insn, DexOffset cur_offset, int width, |