diff options
author | Andreas Gampe <agampe@google.com> | 2015-07-01 22:05:59 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2015-07-06 08:23:07 -0700 |
commit | 57c47588434b98a3904950c3b1d820257984878a (patch) | |
tree | a01a0abe40932d37f04937c680a156a0f5a0550e /compiler/optimizing/graph_visualizer.cc | |
parent | 01b2129de3e182b79aa820e71fc7fa1ef42f2d35 (diff) |
ART: Check switch and array data better in the verifier
Incorrect padding (or just malformed code) can lead to pseudo
instructions for data payload not being correctly discoverable in
a linear scan. This is problematic for the optimizing compiler,
which uses such a scan to build its graph.
Use the opcode flag in the insn_flags_ to ensure that a pseudo
instruction referenced from a base instruction was actually
correctly discovered. This does not ensure the letter of the dex
specification for now, which calls for nops for padding. However,
it is unclear what the difference between unreachable code and
padding is.
Bug: 22237618
Bug: https://code.google.com/p/android/issues/detail?id=178522
Change-Id: I823b3f541f326e6e77b15f3e13a7608a39d4b1fb
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions