Module: RubyVM::RJIT::Hooks

Defined in:
lib/ruby_vm/rjit/hooks.rb

Overview

:nodoc: all

Class Method Summary collapse

Class Method Details

.on_bop_redefined(_redefined_flag, _bop) ⇒ Object



3
4
5
# File 'lib/ruby_vm/rjit/hooks.rb', line 3

def self.on_bop_redefined(_redefined_flag, _bop)
  # C.rjit_cancel_all("BOP is redefined")
end

.on_cme_invalidate(cme) ⇒ Object



7
8
9
10
# File 'lib/ruby_vm/rjit/hooks.rb', line 7

def self.on_cme_invalidate(cme)
  cme = C.rb_callable_method_entry_struct.new(cme)
  Invariants.on_cme_invalidate(cme)
end

.on_constant_ic_update(iseq, ic, insn_idx) ⇒ Object

ISEQ-specific constant invalidation



22
23
24
25
26
# File 'lib/ruby_vm/rjit/hooks.rb', line 22

def self.on_constant_ic_update(iseq, ic, insn_idx)
  iseq = C.rb_iseq_t.new(iseq)
  ic = C.IC.new(ic)
  Invariants.on_constant_ic_update(iseq, ic, insn_idx)
end

.on_constant_state_changed(id) ⇒ Object

Global constant changes like const_set



17
18
19
# File 'lib/ruby_vm/rjit/hooks.rb', line 17

def self.on_constant_state_changed(id)
  Invariants.on_constant_state_changed(id)
end

.on_ractor_spawnObject



12
13
14
# File 'lib/ruby_vm/rjit/hooks.rb', line 12

def self.on_ractor_spawn
  # C.rjit_cancel_all("Ractor is spawned")
end

.on_tracing_invalidate_all(_new_iseq_events) ⇒ Object



28
29
30
# File 'lib/ruby_vm/rjit/hooks.rb', line 28

def self.on_tracing_invalidate_all(_new_iseq_events)
  Invariants.on_tracing_invalidate_all
end

.on_update_referencesObject



32
33
34
# File 'lib/ruby_vm/rjit/hooks.rb', line 32

def self.on_update_references
  Invariants.on_update_references
end