diff options
author | David Brazdil <dbrazdil@google.com> | 2015-07-03 10:34:57 +0100 |
---|---|---|
committer | David Brazdil <dbrazdil@google.com> | 2015-07-06 10:28:46 +0100 |
commit | 281a6320242fd4c229607a663874a8a3b19804f0 (patch) | |
tree | c83a06e68fcb2fd3e6c115ae7d1eba3a4deb3991 /compiler/optimizing/graph_visualizer.cc | |
parent | 4a305daf77a9b80d6abb7817a836aa59d2db521d (diff) |
ART: Fix graph for switch leaving a try block
Blocks that GraphBuilder creates for switch-case logic are given
a dex_pc of the branch targets they serve, while in fact they should
be considered part of the switch instruction itself and get its pc.
This caused the try/catch algorithm to either miss try boundaries or
create bogus edges.
This patch fixed the dex_pc of the switch-case blocks and modifies
the try/catch logic to iterate over all blocks as opposed to just
branch targets since multiple blocks can now cover the same dex_pc.
Change-Id: I30fe4f8db0647b869979197a3bc847cf212a7315
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions