OSDN Git Service

ART: Preserve loop headers with try/catch
authorDavid Brazdil <dbrazdil@google.com>
Tue, 22 Sep 2015 12:04:14 +0000 (13:04 +0100)
committerDavid Brazdil <dbrazdil@google.com>
Fri, 25 Sep 2015 09:40:08 +0000 (10:40 +0100)
commitd7558daaa86decf5a38f4f9bcd82267ab6e3e17f
treeabfbc97a44e301f850b775eaa1d63aaa5efd1a0e
parentc7e0da5292e841f6a864dd010bd6e0b06e0ece73
ART: Preserve loop headers with try/catch

Algorithm for inserting HTryBoundary instructions would generate a
non-natural loop when a loop header block was covered by a TryItem.
This patch changes the approach to fix the issue.

Bug: 23895756
Change-Id: I0e1ee6cf135cea326a96c97954907d202c9793cc
compiler/optimizing/builder.cc
compiler/optimizing/builder.h
compiler/optimizing/nodes.cc
compiler/optimizing/nodes.h
test/510-checker-try-catch/smali/Builder.smali