module Bootsnap::CompileCache::ISeq::InstructionSequenceMixin

def compile_option=(hash)

def compile_option=(hash)
  super(hash)
  Bootsnap::CompileCache::ISeq.compile_option_updated
end

def load_iseq(path)

def load_iseq(path)
  Bootsnap::CompileCache::Native.fetch(
    path.to_s,
    Bootsnap::CompileCache::ISeq
  )
rescue RuntimeError => e
  if e.message =~ /unmatched platform/
    puts "unmatched platform for file #{path}"
  end
  raise
rescue Errno::ERANGE
  STDERR.puts <<~EOF
    \x1b[31mError loading ISeq from cache for \x1b[1;34m#{path}\x1b[0;31m!
    You can likely fix this by running:
      \x1b[1;32mxattr -c #{path}
    \x1b[0;31m...but, first, please make sure \x1b[1;34m@burke\x1b[0;31m knows you ran into this bug!
    He will want to see the results of:
      \x1b[1;32m/bin/ls -l@ #{path}
    \x1b[0;31mand:
      \x1b[1;32mxattr -p user.aotcc.key #{path}\x1b[0m
  EOF
  raise
end