def reload!
      top_ptr_offset = @base + 8 + size_t * 10
      top_ptr = Helper.unpack(size_t, @dumper.call(top_ptr_offset, size_t))
      @fastbin = []
      return self if top_ptr.zero? # arena not init yet

      @top_chunk = Chunk.new(size_t, top_ptr, @dumper)
      @last_remainder = Chunk.new(size_t, top_ptr_offset + 8, @dumper)
      # this offset diff after 2.23
      @system_mem = Array.new(2) do |off|
        Helper.unpack(size_t, @dumper.call(top_ptr_offset + 258 * size_t + 16 + off * size_t, size_t))
      end.find { |val| val >= 0x21000 && (val & 0xfff).zero? }
      @fastbin = Array.new(7) do |idx|
        Fastbin.new(size_t, @base + 8 - size_t * 2 + size_t * idx, @dumper, head: true).tap { |f| f.index = idx }
      end
      @unsorted_bin = UnsortedBin.new(size_t, top_ptr_offset, @dumper, head: true)
      @smallbin = Array.new(62) do |idx|
        Smallbin.new(size_t, @base + 8 + size_t * (12 + 2 * idx), @dumper, head: true).tap { |s| s.index = idx }
      end
      self
    end
def reload!
      top_ptr_offset = @base + 8 + size_t * 10
      top_ptr = Helper.unpack(size_t, @dumper.call(top_ptr_offset, size_t))
      @fastbin = []
      return self if top_ptr.zero? # arena not init yet

      @top_chunk = Chunk.new(size_t, top_ptr, @dumper)
      @last_remainder = Chunk.new(size_t, top_ptr_offset + 8, @dumper)
      # this offset diff after 2.23
      @system_mem = Array.new(2) do |off|
        Helper.unpack(size_t, @dumper.call(top_ptr_offset + 258 * size_t + 16 + off * size_t, size_t))
      end.find { |val| val >= 0x21000 && (val & 0xfff).zero? }
      @fastbin = Array.new(7) do |idx|
        Fastbin.new(size_t, @base + 8 - size_t * 2 + size_t * idx, @dumper, head: true).tap { |f| f.index = idx }
      end
      @unsorted_bin = UnsortedBin.new(size_t, top_ptr_offset, @dumper, head: true)
      @smallbin = Array.new(62) do |idx|
        Smallbin.new(size_t, @base + 8 + size_t * (12 + 2 * idx), @dumper, head: true).tap { |s| s.index = idx }
      end
      self
    end
attr_reader :largebin
 Instantiate a {HeapInfo::Arena} object.

 @param [Integer] base Base address of arena.
 @param [Integer] size_t Either 8 or 4.
 @param [Proc] dumper For dumping more data.
 Refresh all attributes.
 Retrive data using +@dumper+, load bins, top chunk etc.
 @return [HeapInfo::Arena] self