OSDN Git Service

ART: Fix up some multi-image cases
authorAndreas Gampe <agampe@google.com>
Mon, 28 Dec 2015 18:41:49 +0000 (10:41 -0800)
committerAndreas Gampe <agampe@google.com>
Tue, 29 Dec 2015 03:21:26 +0000 (19:21 -0800)
commit288b1e9a0dddfb91e85067fe81de55174f313c7c
tree3b8926db8ed6a575975540694c2bc81b4197b7de
parent6147f7520a1279b58d58c5d73a707dea2fbdd376
ART: Fix up some multi-image cases

Change the auto-generated multi-image names to include the path
components from the first image, as well as prefix them with the
first image's name to disambiguate. This fixes vogar-style usage.

Fix an out-of-bounds issue in dex2oat when dex files are missing.

Forbid generating or patching multi-image parts when loading images.
Instead just fail loading them.

Remember ImageSpace instances that have been added while trying to
load a multi-image set. Remove all loaded instances when the overall
loading process fails.

Refactor the dex location adaptation into ImageSpace. Reuse the code
in the Runtime path for fallback, so that all dex files can be found
correctly.

Fix an out-of-bounds access in OatFileAssistant in fallback mode.

Partially reverts d895961d07a1d320b29f2045a48bc5a1944a4d3c. Push an
actual image name, that is, something with an art extension, to
the vogar scripts.

Partially reverts c525604b313bb77a2077e1fec43dfab76cb1b9b1. Test
119-noimage-patchoat works again.

Bug: 26317072
Bug: 26320300
Change-Id: I3f05fa77f22a2b9ca54c3105ffc53646c1928604
dex2oat/dex2oat.cc
runtime/gc/heap.cc
runtime/gc/space/image_space.cc
runtime/gc/space/image_space.h
runtime/oat_file_assistant.cc
runtime/runtime.cc
test/Android.run-test.mk
tools/run-jdwp-tests.sh
tools/run-libcore-tests.sh