OSDN Git Service

Use bit-level packing for InlineInfo in stackmaps as well.
authorDavid Srbecky <dsrbecky@google.com>
Thu, 25 Feb 2016 21:55:03 +0000 (21:55 +0000)
committerDavid Srbecky <dsrbecky@google.com>
Fri, 1 Apr 2016 16:01:55 +0000 (17:01 +0100)
commit61b28a17d9b6e8e998103646e98e4a9772e11927
tree438c4a73f72423ddc71e6dca9f082d9e1d533996
parentcf0f8560f41467331427418584687830932e66ed
Use bit-level packing for InlineInfo in stackmaps as well.

Use the same approach as we do for stackmaps to reduce the size.

It saves 4.0 MB from non-debuggable boot.oat (AOSP).
It does not affect debuggable boot.oat.

It saves 3.6 MB (of 96.6 MB) from /system/framework/arm/ (GOOG).
It saves 0.6 MB (of 26.7 MB) from /system/framework/oat/arm/ (GOOG).

Field loads from inline-info get around 5% slower.
(based on the time it takes to load all inline-infos from boot.oat)

Change-Id: I67b0fa5eef74c1fdb013680d0231fd44ea696176
compiler/optimizing/stack_map_stream.cc
compiler/optimizing/stack_map_stream.h
compiler/optimizing/stack_map_test.cc
runtime/entrypoints/entrypoint_utils-inl.h
runtime/entrypoints/entrypoint_utils.cc
runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
runtime/oat.h
runtime/stack.cc
runtime/stack_map.cc
runtime/stack_map.h