OSDN Git Service

Fix relocate in place to handle arbitrary app image layout
authorMathieu Chartier <mathieuc@google.com>
Mon, 11 Apr 2016 19:03:48 +0000 (12:03 -0700)
committerMathieu Chartier <mathieuc@google.com>
Tue, 12 Apr 2016 01:05:20 +0000 (18:05 -0700)
commit564289c753cbe3521f9523b350bd713c1fe2fbd4
treed0addc23580634f0c0ad8bb5a05f6f12a2bfc36c
parent80c563ba136fd8da8791cf0f1a5f8f7026816ead
Fix relocate in place to handle arbitrary app image layout

Previously the relocation had bugs where it would not work correctly
if the iftable was after the class since the object arrays would not
yet be updated to be the relocated address when we went through them
to fixup the ArtMethod pointers.

Also fixes a bug where the superclass of a class could not be
updated when we walk through it for visiting instance fields of
large objects.

Changed RelocateInPlace to use a simplier single pass approach.

Bug: 27906566
Bug: 22858531

Change-Id: I97affab6ff353dfdc4d1bf31df69ceb96a0c7a1a
runtime/gc/space/image_space.cc
test/etc/run-test-jar