2025-04-29 11:03:13 -07:00
|
|
|
#if USE_ZJIT
|
|
|
|
|
2025-04-04 09:06:56 -07:00
|
|
|
MAYBE_UNUSED(static int vm_bare_insn_to_zjit_insn(int insn));
|
2025-03-03 13:46:53 -08:00
|
|
|
static int
|
2025-04-04 09:06:56 -07:00
|
|
|
vm_bare_insn_to_zjit_insn(int insn)
|
2025-03-03 13:46:53 -08:00
|
|
|
{
|
|
|
|
switch (insn) {
|
|
|
|
% RubyVM::ZJITInstructions.to_a.each do |insn|
|
|
|
|
case BIN(<%= insn.jump_destination %>):
|
|
|
|
return <%= insn.bin %>;
|
|
|
|
% end
|
|
|
|
default:
|
|
|
|
return insn;
|
|
|
|
}
|
|
|
|
}
|
2025-04-04 09:06:56 -07:00
|
|
|
|
|
|
|
MAYBE_UNUSED(static int vm_zjit_insn_to_bare_insn(int insn));
|
|
|
|
static int
|
|
|
|
vm_zjit_insn_to_bare_insn(int insn)
|
|
|
|
{
|
|
|
|
switch (insn) {
|
|
|
|
% RubyVM::ZJITInstructions.to_a.each do |insn|
|
|
|
|
case <%= insn.bin %>:
|
|
|
|
return BIN(<%= insn.jump_destination %>);
|
|
|
|
% end
|
|
|
|
default:
|
|
|
|
return insn;
|
|
|
|
}
|
|
|
|
}
|
2025-04-29 11:03:13 -07:00
|
|
|
|
|
|
|
#endif
|