From 12f1b99775bbf7dd82d0a897587ab6ed0e75ee22 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Thu, 19 Jan 2017 18:00:45 -0800 Subject: 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 --- runtime/quick_exception_handler.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'runtime/quick_exception_handler.cc') 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(GetCurrentQuickFrame()) + offset; value = *reinterpret_cast(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; } -- cgit v1.2.3-59-g8ed1b