OSDN Git Service

Load app images
authorMathieu Chartier <mathieuc@google.com>
Mon, 9 Nov 2015 19:16:49 +0000 (11:16 -0800)
committerMathieu Chartier <mathieuc@google.com>
Fri, 22 Jan 2016 23:01:55 +0000 (15:01 -0800)
commitf7fd970244f143b1abb956e29794c446e4d57f46
treeaac1f57ac70747957f609bb46305dfeca87645a1
parent95005291d8ebdd1d2ac58ffc5181fef4fbbf2383
Load app images

Support in-place patching of the app image based on boot image
location and app oat location. Only loads for art run test so far
since we do not automatically generate app images for app installs.

N5 maps launch time (~200 runs):
Before: 930ms
After: 878.18ms
After + image class table: 864.57ms

TODO:
Oatdump support.
Store class loaders as class roots in image.

Bug: 22858531

Change-Id: I9cbc645645e62ea2ed1ad8e139e91af7d88514c1
54 files changed:
cmdline/cmdline_types.h
compiler/driver/compiler_driver.cc
compiler/image_test.cc
compiler/image_writer.cc
compiler/image_writer.h
compiler/oat_writer.cc
dex2oat/dex2oat.cc
patchoat/patchoat.cc
runtime/art_field-inl.h
runtime/art_field.h
runtime/art_method-inl.h
runtime/art_method.h
runtime/base/logging.h
runtime/class_linker.cc
runtime/class_linker.h
runtime/class_table.cc
runtime/class_table.h
runtime/gc/accounting/card_table.h
runtime/gc/accounting/space_bitmap-inl.h
runtime/gc/collector/immune_spaces_test.cc
runtime/gc/heap.cc
runtime/gc/heap.h
runtime/gc/space/image_space.cc
runtime/gc/space/image_space.h
runtime/image.cc
runtime/image.h
runtime/intern_table.cc
runtime/intern_table.h
runtime/mirror/class-inl.h
runtime/mirror/class.h
runtime/mirror/class_loader-inl.h
runtime/mirror/class_loader.h
runtime/mirror/dex_cache-inl.h
runtime/mirror/dex_cache.cc
runtime/mirror/dex_cache.h
runtime/mirror/iftable.h
runtime/mirror/object-inl.h
runtime/mirror/object.h
runtime/mirror/object_array-inl.h
runtime/mirror/object_array.h
runtime/native/dalvik_system_DexFile.cc
runtime/oat_file_assistant.cc
runtime/oat_file_assistant.h
runtime/oat_file_assistant_test.cc
runtime/oat_file_manager.cc
runtime/oat_file_manager.h
runtime/runtime.cc
runtime/runtime.h
runtime/thread_list.cc
runtime/utils/dex_cache_arrays_layout-inl.h
runtime/well_known_classes.cc
runtime/well_known_classes.h
test/496-checker-inlining-and-class-loader/src/Main.java
test/506-verify-aput/src/Main.java