diff options
author | Mathieu Chartier <mathieuc@google.com> | 2017-01-19 14:48:48 -0800 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2017-01-20 15:47:06 -0800 |
commit | a2f526f889be06f96ea59624c9dfb1223b3839f3 (patch) | |
tree | 769f517e6664de0e89abeadf07a39d5410fcee42 /compiler/optimizing/code_generator_arm.cc | |
parent | 64e50021845b1ad9d8851596e8aaddf18be217c2 (diff) |
Compressed native PC for stack maps
Compress native PC based on instruction alignment. This reduces the
size of stack maps, boot.oat is 0.4% smaller for arm64.
Test: test-art-host, test-art-target, N6P booting
Change-Id: I2b70eecabda88b06fa80a85688fd992070d54278
Diffstat (limited to 'compiler/optimizing/code_generator_arm.cc')
-rw-r--r-- | compiler/optimizing/code_generator_arm.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/optimizing/code_generator_arm.cc b/compiler/optimizing/code_generator_arm.cc index 9c9c604dca..b566334725 100644 --- a/compiler/optimizing/code_generator_arm.cc +++ b/compiler/optimizing/code_generator_arm.cc @@ -1239,7 +1239,8 @@ void CodeGeneratorARM::Finalize(CodeAllocator* allocator) { // Adjust native pc offsets in stack maps. for (size_t i = 0, num = stack_map_stream_.GetNumberOfStackMaps(); i != num; ++i) { - uint32_t old_position = stack_map_stream_.GetStackMap(i).native_pc_offset; + uint32_t old_position = + stack_map_stream_.GetStackMap(i).native_pc_code_offset.Uint32Value(kThumb2); uint32_t new_position = __ GetAdjustedPosition(old_position); stack_map_stream_.SetStackMapNativePcOffset(i, new_position); } |