Module: Bootsnap::CompileCache::ISeq::InstructionSequenceMixin

Defined in:
lib/bootsnap/compile_cache/iseq.rb

Instance Method Summary collapse

Instance Method Details

#compile_option=(hash) ⇒ Object



49
50
51
52
# File 'lib/bootsnap/compile_cache/iseq.rb', line 49

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

#load_iseq(path) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/bootsnap/compile_cache/iseq.rb', line 33

def load_iseq(path)
  # Having coverage enabled prevents iseq dumping/loading.
  return nil if defined?(Coverage) && Bootsnap::CompileCache::Native.coverage_running?

  Bootsnap::CompileCache::Native.fetch(
    Bootsnap::CompileCache::ISeq.cache_dir,
    path.to_s,
    Bootsnap::CompileCache::ISeq
  )
rescue RuntimeError => e
  if e.message =~ /unmatched platform/
    puts "unmatched platform for file #{path}"
  end
  raise
end