diff options
Diffstat (limited to 'runtime/stack_map.cc')
| -rw-r--r-- | runtime/stack_map.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/runtime/stack_map.cc b/runtime/stack_map.cc index 690b069c8e..4e7c3f4f9f 100644 --- a/runtime/stack_map.cc +++ b/runtime/stack_map.cc @@ -97,8 +97,9 @@ void StackMapEncoding::Dump(VariableIndentationOutputStream* vios) const { << ", dex_pc_bit_offset=" << static_cast<uint32_t>(dex_pc_bit_offset_) << ", dex_register_map_bit_offset=" << static_cast<uint32_t>(dex_register_map_bit_offset_) << ", inline_info_bit_offset=" << static_cast<uint32_t>(inline_info_bit_offset_) - << ", register_mask_bit_offset=" << static_cast<uint32_t>(register_mask_bit_offset_) - << ", stack_mask_bit_offset=" << static_cast<uint32_t>(stack_mask_bit_offset_) + << ", register_mask_bit_offset=" << static_cast<uint32_t>(register_mask_index_bit_offset_) + << ", stack_mask_index_bit_offset=" << static_cast<uint32_t>(stack_mask_index_bit_offset_) + << ", total_bit_size=" << static_cast<uint32_t>(total_bit_size_) << ")\n"; } @@ -198,16 +199,17 @@ void StackMap::Dump(VariableIndentationOutputStream* vios, << "StackMap" << header_suffix << std::hex << " [native_pc=0x" << code_offset + pc_offset << "]" - << " [entry_size=0x" << encoding.stack_map_size_in_bytes << "]" + << " [entry_size=0x" << encoding.stack_map_encoding.BitSize() << " bits]" << " (dex_pc=0x" << GetDexPc(stack_map_encoding) << ", native_pc_offset=0x" << pc_offset << ", dex_register_map_offset=0x" << GetDexRegisterMapOffset(stack_map_encoding) << ", inline_info_offset=0x" << GetInlineDescriptorOffset(stack_map_encoding) - << ", register_mask=0x" << GetRegisterMask(stack_map_encoding) + << ", register_mask=0x" << code_info.GetRegisterMaskOf(encoding, *this) << std::dec << ", stack_mask=0b"; - for (size_t i = 0, e = GetNumberOfStackMaskBits(stack_map_encoding); i < e; ++i) { - vios->Stream() << GetStackMaskBit(stack_map_encoding, e - i - 1); + BitMemoryRegion stack_mask = code_info.GetStackMaskOf(encoding, *this); + for (size_t i = 0, e = encoding.stack_mask_size_in_bits; i < e; ++i) { + vios->Stream() << stack_mask.LoadBit(e - i - 1); } vios->Stream() << ")\n"; if (HasDexRegisterMap(stack_map_encoding)) { |