diff options
| author | 2015-09-25 09:50:18 +0000 | |
|---|---|---|
| committer | 2015-09-25 09:50:18 +0000 | |
| commit | 0aeb7599bcd7073a5c849f413fb7a9611f5944eb (patch) | |
| tree | abfbc97a44e301f850b775eaa1d63aaa5efd1a0e /compiler/optimizing/builder.h | |
| parent | c7e0da5292e841f6a864dd010bd6e0b06e0ece73 (diff) | |
| parent | d7558daaa86decf5a38f4f9bcd82267ab6e3e17f (diff) | |
Merge "ART: Preserve loop headers with try/catch"
Diffstat (limited to 'compiler/optimizing/builder.h')
| -rw-r--r-- | compiler/optimizing/builder.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h index 7f87df6df2..1691800ee1 100644 --- a/compiler/optimizing/builder.h +++ b/compiler/optimizing/builder.h @@ -121,13 +121,13 @@ class HGraphBuilder : public ValueObject { // instructions and links them to the corresponding catch blocks. void InsertTryBoundaryBlocks(const DexFile::CodeItem& code_item); - // Splits a single edge, inserting a TryBoundary of given `kind` and linking - // it to exception handlers of `try_item`. - void SplitTryBoundaryEdge(HBasicBlock* predecessor, - HBasicBlock* successor, - HTryBoundary::BoundaryKind kind, - const DexFile::CodeItem& code_item, - const DexFile::TryItem& try_item); + // Iterates over the exception handlers of `try_item`, finds the corresponding + // catch blocks and makes them successors of `try_boundary`. The order of + // successors matches the order in which runtime exception delivery searches + // for a handler. + void LinkToCatchBlocks(HTryBoundary* try_boundary, + const DexFile::CodeItem& code_item, + const DexFile::TryItem* try_item); bool CanDecodeQuickenedInfo() const; uint16_t LookupQuickenedInfo(uint32_t dex_pc); |