OSDN Git Service

String Compression for ARM and ARM64
authorjessicahandojo <jessicahandojo@google.com>
Sat, 10 Sep 2016 02:01:32 +0000 (19:01 -0700)
committerjessicahandojo <jessicahandojo@google.com>
Fri, 30 Sep 2016 17:51:50 +0000 (10:51 -0700)
commit0576575d075e97a227010b4adf74ad5c8a920bde
treec31eb030933e74d6d103979bcf0d1226e769eb5b
parent9e5739aaa690a8529c104f4c05035a657616c310
String Compression for ARM and ARM64

Changes on intrinsics and Code Generation on ARM and ARM64
for string compression feature. Currently the feature is off.

The size of boot.oat and boot.art for ARM before and after the
changes (feature OFF) are still. When the feature ON,
boot.oat increased by 0.60% and boot.art decreased by 9.38%.

Meanwhile for ARM64, size of boot.oat and boot.art before and
after changes (feature OFF) are still. When the feature ON,
boot.oat increased by 0.48% and boot.art decreased by 6.58%.

Turn feature on: runtime/mirror/string.h (kUseStringCompression = true)
runtime/asm_support.h (STRING_COMPRESSION_FEATURE 1)

Test: m -j31 test-art-target
All tests passed both when the mirror::kUseStringCompression
is ON and OFF.

Bug: 31040547
Change-Id: I24e86b99391df33ba27df747779b648c5a820649
compiler/optimizing/code_generator_arm.cc
compiler/optimizing/code_generator_arm64.cc
compiler/optimizing/instruction_simplifier_arm.cc
compiler/optimizing/instruction_simplifier_arm64.cc
compiler/optimizing/intrinsics_arm.cc
compiler/optimizing/intrinsics_arm64.cc
runtime/arch/arm/quick_entrypoints_arm.S
runtime/arch/arm64/quick_entrypoints_arm64.S