Skip to main content

symbols

Function symbols 

Source
pub fn symbols() -> Vec<(&'static str, *const u8)>
Expand description

All runtime symbols, for registration with the JIT (or a linker map).

Every nova_mir::RtFunc must appear here. A RtFunc variant is declared to both codegen backends by the rt_funcs! macro, which guarantees the two backends cannot disagree about the enum — but it says nothing about this table, which is hand-maintained. A variant missing from here compiles clean and only fails when the JIT tries to resolve the symbol, inside cranelift-jit’s finalize_definitions, which panic!s rather than returning an error. nova-codegen-cranelift’s every_rt_func_symbol_is_registered_with_the_jit pins the containment, since that crate is the one that depends on both this one and nova-mir.