# File lib/innodb/util/buffer_cursor.rb, line 379
  def get_imc_uint64
    name("imc_uint64") {
      high = 0
      flag = peek { name("uint8_or_flag") { get_uint8 } }

      if flag == 0xff
        # The high 32-bits are stored first as an ic_uint32.
        adjust(+1) # Skip the flag byte.
        high = name("high") { get_ic_uint32 }
        flag = nil
      end

      # The low 32-bits are stored as an ic_uint32; pass the flag we already
      # read, so we don't have to read it again.
      low = name("low") { get_ic_uint32(flag) }

      (high << 32) | low
    }
  end