diff options
author | Mathieu Chartier <mathieuc@google.com> | 2017-01-19 18:00:45 -0800 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2017-01-27 10:04:05 -0800 |
commit | 12f1b99775bbf7dd82d0a897587ab6ed0e75ee22 (patch) | |
tree | f8cb3a7334652e59577b7ff97a1805d1bf4ddd94 /runtime/quick_exception_handler.cc | |
parent | d8f6e6430b26bf199f4a52f0624becb7c29f3c19 (diff) |
Remove alignment bits in between stack maps
Saves 0.65% of boot.oat size, probably similar on apps. Added
BitMemoryRegion to avoid requiring adding state to StackMap. Added
test to memory_region_test.
Test: clean-oat-host && test-art-host
Bug: 34621054
Change-Id: I40279c59e262bd5e3c6a9135f83e22b5b6900d68
Diffstat (limited to 'runtime/quick_exception_handler.cc')
-rw-r--r-- | runtime/quick_exception_handler.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/quick_exception_handler.cc b/runtime/quick_exception_handler.cc index b809c3eb56..8d758a4a4b 100644 --- a/runtime/quick_exception_handler.cc +++ b/runtime/quick_exception_handler.cc @@ -438,7 +438,7 @@ class DeoptimizeStackVisitor FINAL : public StackVisitor { const uint8_t* addr = reinterpret_cast<const uint8_t*>(GetCurrentQuickFrame()) + offset; value = *reinterpret_cast<const uint32_t*>(addr); uint32_t bit = (offset >> 2); - if (stack_map.GetNumberOfStackMaskBits(encoding.stack_map_encoding) > bit && + if (code_info.GetNumberOfStackMaskBits(encoding) > bit && stack_map.GetStackMaskBit(encoding.stack_map_encoding, bit)) { is_reference = true; } |