SYMBOL INDEX (228 symbols across 23 files) FILE: LiveRecomp/live_generator.cpp type Registers (line 26) | namespace Registers { type InnerCall (line 38) | struct InnerCall { type ReferenceSymbolCall (line 43) | struct ReferenceSymbolCall { type SwitchErrorJump (line 48) | struct SwitchErrorJump { type N64Recomp::LiveGeneratorContext (line 54) | struct N64Recomp::LiveGeneratorContext { function get_gpr_context_offset (line 229) | constexpr int get_gpr_context_offset(int gpr_index) { function get_fpr_single_context_offset (line 233) | constexpr int get_fpr_single_context_offset(int fpr_index) { function get_fpr_double_context_offset (line 237) | constexpr int get_fpr_double_context_offset(int fpr_index) { function is_fpr_u32l (line 241) | constexpr bool is_fpr_u32l(N64Recomp::Operand operand) { function get_fpr_u32l_context_offset (line 249) | constexpr void get_fpr_u32l_context_offset(int fpr_index, sljit_compiler... function get_fpr_u64_context_offset (line 265) | constexpr int get_fpr_u64_context_offset(int fpr_index) { function get_gpr_values (line 269) | void get_gpr_values(int gpr, sljit_sw& out, sljit_sw& outw) { function get_operand_values (line 280) | bool get_operand_values(N64Recomp::Operand operand, const N64Recomp::Ins... function outputs_to_zero (line 386) | bool outputs_to_zero(N64Recomp::Operand output, const N64Recomp::Instruc... function do_round_w_s (line 831) | int32_t do_round_w_s(float num) { function do_round_w_d (line 835) | int32_t do_round_w_d(double num) { function do_round_l_s (line 839) | int64_t do_round_l_s(float num) { function do_round_l_d (line 843) | int64_t do_round_l_d(double num) { function do_ceil_w_s (line 847) | int32_t do_ceil_w_s(float num) { function do_ceil_w_d (line 851) | int32_t do_ceil_w_d(double num) { function do_ceil_l_s (line 855) | int64_t do_ceil_l_s(float num) { function do_ceil_l_d (line 859) | int64_t do_ceil_l_d(double num) { function do_floor_w_s (line 863) | int32_t do_floor_w_s(float num) { function do_floor_w_d (line 867) | int32_t do_floor_w_d(double num) { function do_floor_l_s (line 871) | int64_t do_floor_l_s(float num) { function do_floor_l_d (line 875) | int64_t do_floor_l_d(double num) { FILE: LiveRecomp/live_recompiler_test.cpp function read_file (line 10) | static std::vector read_file(const std::filesystem::path& path,... function read_u32_swap (line 29) | uint32_t read_u32_swap(const std::vector& vec, size_t offset) { function read_u32 (line 33) | uint32_t read_u32(const std::vector& vec, size_t offset) { function byteswap_copy (line 39) | void byteswap_copy(uint8_t* dst, uint8_t* src, size_t count) { function byteswap_compare (line 45) | bool byteswap_compare(uint8_t* a, uint8_t* b, size_t count) { type TestError (line 54) | enum class TestError { type TestStats (line 62) | struct TestStats { function write1 (line 69) | void write1(uint8_t* rdram, recomp_context* ctx) { function recomp_func_t (line 73) | recomp_func_t* test_get_function(int32_t vram) { function test_switch_error (line 81) | void test_switch_error(const char* func, uint32_t vram, uint32_t jtbl) { function TestStats (line 85) | TestStats run_test(const std::filesystem::path& tests_dir, const std::st... function main (line 301) | int main(int argc, const char** argv) { FILE: OfflineModRecomp/main.cpp function read_file (line 9) | static std::vector read_file(const std::filesystem::path& path,... function main (line 27) | int main(int argc, const char** argv) { FILE: RSPRecomp/src/rsp_recomp.cpp type RspOperand (line 21) | enum class RspOperand { function ctx_gpr_prefix (line 117) | std::string_view ctx_gpr_prefix(int reg) { function expected_c0_reg_value (line 124) | uint32_t expected_c0_reg_value(int cop0_reg) { function c0_reg_write_action (line 143) | std::string_view c0_reg_write_action(int cop0_reg) { function is_c0_reg_write_dma_read (line 164) | bool is_c0_reg_write_dma_read(int cop0_reg) { function get_rsp_element (line 168) | std::optional get_rsp_element(const rabbitizer::InstructionRsp& ins... function rsp_ignores_element (line 178) | bool rsp_ignores_element(InstrId id) { type BranchTargets (line 182) | struct BranchTargets { function BranchTargets (line 187) | BranchTargets get_branch_targets(const std::vector toml_to_vec(const toml::array* array) { function toml_to_set (line 664) | std::unordered_set toml_to_set(const toml::array* array) { function read_config (line 676) | bool read_config(const std::filesystem::path& config_path, RSPRecompiler... type FunctionPermutation (line 824) | struct FunctionPermutation { type Permutation (line 829) | struct Permutation { type Overlay (line 834) | struct Overlay { type OverlaySlot (line 838) | struct OverlaySlot { function next_permutation (line 843) | bool next_permutation(const std::vector& option_lengths, std::... function permute (line 860) | void permute(const std::vector& base_words, const std::vector<... function make_permutation_string (line 892) | std::string make_permutation_string(const std::vector permutat... function create_overlay_swap_function (line 902) | void create_overlay_swap_function(const std::string& function_name, std:... function create_function (line 1004) | void create_function(const std::string& function_name, std::ofstream& ou... function main (line 1087) | int main(int argc, const char** argv) { FILE: RecompModMerger/main.cpp function read_file (line 7) | bool read_file(const std::filesystem::path& p, std::vector& out) { function write_file (line 27) | bool write_file(const std::filesystem::path& p, std::span in) { function reinterpret_span_u8 (line 37) | std::span reinterpret_span_u8(std::span s) { function reinterpret_span_char (line 41) | std::span reinterpret_span_char(std::span s) { function copy_into_context (line 45) | bool copy_into_context(N64Recomp::Context& out, const N64Recomp::Context... function main (line 209) | int main(int argc, const char** argv) { FILE: RecompModTool/main.cpp type ModManifest (line 25) | struct ModManifest { type ModInputs (line 43) | struct ModInputs { type ModConfig (line 51) | struct ModConfig { function concat_if_not_empty (line 56) | static std::filesystem::path concat_if_not_empty(const std::filesystem::... function validate_version_string (line 66) | static bool validate_version_string(std::string_view str, bool& has_labe... function validate_dependency_string (line 122) | static bool validate_dependency_string(const std::string& val, size_t& n... function T (line 167) | static T read_toml_value(const toml::table& data, std::string_view key, ... function get_toml_path_array (line 208) | static std::vector get_toml_path_array(const toml... function validate_config_option (line 225) | bool validate_config_option(const toml::table& option) { function ModManifest (line 230) | ModManifest parse_mod_config_manifest(const std::filesystem::path& based... function ModInputs (line 377) | ModInputs parse_mod_config_inputs(const std::filesystem::path& basedir, ... function ModConfig (line 431) | ModConfig parse_mod_config(const std::filesystem::path& config_path, boo... function round_up_16 (line 475) | static inline uint32_t round_up_16(uint32_t value) { function parse_callback_name (line 479) | bool parse_callback_name(std::string_view data, std::string& dependency_... function string_vector_to_toml (line 498) | toml::array string_vector_to_toml(const std::vector& input) { function write_manifest (line 506) | void write_manifest(const std::filesystem::path& path, const ModManifest... function build_mod_context (line 563) | N64Recomp::Context build_mod_context(const N64Recomp::Context& input_con... function create_mod_zip (line 1010) | bool create_mod_zip(const std::filesystem::path& output_dir, const ModCo... function main (line 1128) | int main(int argc, const char** argv) { FILE: include/recomp.h function DMULT (line 41) | static inline void DMULT(int64_t a, int64_t b, int64_t* lo64, int64_t* h... function DMULTU (line 48) | static inline void DMULTU(uint64_t a, uint64_t b, uint64_t* lo64, uint64... function DMULT (line 61) | static inline void DMULT(int64_t a, int64_t b, int64_t* lo64, int64_t* h... function DMULTU (line 65) | static inline void DMULTU(uint64_t a, uint64_t b, uint64_t* lo64, uint64... function DDIV (line 73) | static inline void DDIV(int64_t a, int64_t b, int64_t* quot, int64_t* re... function DDIVU (line 79) | static inline void DDIVU(uint64_t a, uint64_t b, uint64_t* quot, uint64_... type gpr (line 84) | typedef uint64_t gpr; function load_doubleword (line 115) | static inline uint64_t load_doubleword(uint8_t* rdram, gpr reg, gpr offs... function gpr (line 126) | static inline gpr do_lwl(uint8_t* rdram, gpr initial_value, gpr offset, ... function gpr (line 143) | static inline gpr do_lwr(uint8_t* rdram, gpr initial_value, gpr offset, ... function do_swl (line 160) | static inline void do_swl(uint8_t* rdram, gpr offset, gpr reg, gpr val) { function do_swr (line 175) | static inline void do_swr(uint8_t* rdram, gpr offset, gpr reg, gpr val) { function gpr (line 190) | static inline gpr do_ldl(uint8_t* rdram, gpr initial_value, gpr offset, ... function gpr (line 206) | static inline gpr do_ldr(uint8_t* rdram, gpr initial_value, gpr offset, ... function do_sdl (line 222) | static inline void do_sdl(uint8_t* rdram, gpr offset, gpr reg, gpr val) { function do_sdr (line 243) | static inline void do_sdr(uint8_t* rdram, gpr offset, gpr reg, gpr val) { function get_cop1_cs (line 264) | static inline uint32_t get_cop1_cs() { function set_cop1_cs (line 288) | static inline void set_cop1_cs(uint32_t val) { function do_cvt_w_s (line 364) | static inline int32_t do_cvt_w_s(float val) { function do_cvt_l_s (line 372) | static inline int64_t do_cvt_l_s(float val) { function do_cvt_w_d (line 380) | static inline int32_t do_cvt_w_d(double val) { function do_cvt_l_d (line 388) | static inline int64_t do_cvt_l_d(double val) { type fpr (line 401) | typedef union { type recomp_context (line 414) | typedef struct { FILE: include/recompiler/context.h function byteswap (line 15) | inline uint32_t byteswap(uint32_t val) { function byteswap (line 19) | constexpr uint32_t byteswap(uint32_t val) { function namespace (line 24) | namespace N64Recomp { type FunctionHook (line 204) | struct FunctionHook { function class (line 211) | class Context { function ModSymbolsError (line 596) | enum class ModSymbolsError { function validate_mod_id (line 652) | inline bool validate_mod_id(const std::string& str) { FILE: include/recompiler/generator.h type InstructionContext (line 8) | struct InstructionContext { function class (line 28) | class Generator { FILE: include/recompiler/live_recompiler.h type sljit_compiler (line 8) | struct sljit_compiler type LiveGeneratorContext (line 11) | struct LiveGeneratorContext type ReferenceJumpDetails (line 12) | struct ReferenceJumpDetails { type LiveGeneratorOutput (line 16) | struct LiveGeneratorOutput { function num_reference_symbol_jumps (line 41) | size_t num_reference_symbol_jumps() const; FILE: include/recompiler/operations.h type class (line 12) | enum class type class (line 25) | enum class type class (line 69) | enum class function Operand (line 127) | enum class Operand { FILE: src/analysis.cpp type RegState (line 13) | struct RegState { method RegState (line 32) | RegState() = default; method invalidate (line 34) | void invalidate() { function analyze_instruction (line 59) | bool analyze_instruction(const rabbitizer::InstructionCpu& instr, const ... FILE: src/analysis.h type AbsoluteJump (line 10) | struct AbsoluteJump { FILE: src/cgenerator.cpp type BinaryOpFields (line 9) | struct BinaryOpFields { std::string func_string; std::string infix_strin... function gpr_to_string (line 81) | static std::string gpr_to_string(int gpr_index) { function fpr_to_string (line 88) | static std::string fpr_to_string(int fpr_index) { function fpr_double_to_string (line 92) | static std::string fpr_double_to_string(int fpr_index) { function fpr_u32l_to_string (line 96) | static std::string fpr_u32l_to_string(int fpr_index) { function fpr_u64_to_string (line 105) | static std::string fpr_u64_to_string(int fpr_index) { function unsigned_reloc (line 109) | static std::string unsigned_reloc(const N64Recomp::InstructionContext& c... function signed_reloc (line 122) | static std::string signed_reloc(const N64Recomp::InstructionContext& con... type StoreSyntax (line 595) | enum class StoreSyntax { FILE: src/config.cpp function concat_if_not_empty (line 8) | std::filesystem::path concat_if_not_empty(const std::filesystem::path& p... function get_manual_funcs (line 15) | std::vector get_manual_funcs(const toml::arra... function get_data_syms_paths (line 41) | std::vector get_data_syms_paths(const toml::array... function get_stubbed_funcs (line 58) | std::vector get_stubbed_funcs(const toml::table* patches_da... function get_ignored_funcs (line 84) | std::vector get_ignored_funcs(const toml::table* patches_da... function get_renamed_funcs (line 107) | std::vector get_renamed_funcs(const toml::table* patches_da... function get_func_sizes (line 130) | std::vector get_func_sizes(const toml::array* f... function get_instruction_patches (line 160) | std::vector get_instruction_patches(const t... function get_function_hooks (line 204) | std::vector get_function_hooks(const toml::... function get_mdebug_mappings (line 248) | void get_mdebug_mappings(const toml::array* mdebug_mappings_array, function reloc_type_from_name (line 540) | N64Recomp::RelocType reloc_type_from_name(const std::string& reloc_type_... FILE: src/config.h type InstructionPatch (line 10) | struct InstructionPatch { type FunctionTextHook (line 16) | struct FunctionTextHook { type FunctionSize (line 22) | struct FunctionSize { FILE: src/elf.cpp function read_symbols (line 11) | bool read_symbols(N64Recomp::Context& context, const ELFIO::elfio& elf_f... type SegmentEntry (line 203) | struct SegmentEntry { function get_segment (line 209) | std::optional get_segment(const std::vector& segme... function setup_context_for_elf (line 619) | static void setup_context_for_elf(N64Recomp::Context& context, const ELF... FILE: src/main.cpp function add_manual_functions (line 16) | void add_manual_functions(N64Recomp::Context& context, const std::vector... function read_list_file (line 75) | bool read_list_file(const std::filesystem::path& filename, std::vector read_file(const std::filesystem::path& path) { function main (line 269) | int main(int argc, char** argv) { FILE: src/mdebug.cpp type MDebugSymbol (line 8) | struct MDebugSymbol { type MDebugFile (line 19) | struct MDebugFile { class MDebugInfo (line 24) | class MDebugInfo { method MDebugInfo (line 26) | MDebugInfo(const N64Recomp::ElfParsingConfig& config, const char* mdeb... method is_identifier_char (line 119) | bool is_identifier_char(char c) { method sanitize_section_name (line 135) | std::string sanitize_section_name(std::string section_name) { method populate_context (line 151) | bool populate_context(const N64Recomp::ElfParsingConfig& elf_config, N... method print (line 496) | void print() { method good (line 505) | bool good() { method add_file (line 509) | void add_file(std::string&& filename) { method add_symbol (line 515) | void add_symbol(size_t file_index, MDebugSymbol&& sym) { function get_func (line 526) | bool get_func(const char *mdata, const MDebug::HDRR& hdrr, const MDebug:... function read_mdebug (line 548) | void read_mdebug(N64Recomp::Context& context, ELFIO::section* mdebug_sec... FILE: src/mdebug.h function namespace (line 12) | namespace N64Recomp type PDR (line 137) | struct PDR { type LANG (line 187) | enum LANG { function get_fMerge (line 202) | struct FDR { function swap (line 251) | void swap() { function std (line 273) | inline std::span get_auxs(const std::vector& all_auxs) c... function std (line 277) | inline std::span get_pdrs(const std::vector& all_pdrs) c... function std (line 281) | inline std::span get_symrs(std::span all_symrs) ... function relocate (line 301) | struct HDRR { function std (line 370) | inline std::vector read_fdrs(const char* data) { FILE: src/mod_symbols.cpp type FileHeader (line 5) | struct FileHeader { type FileSubHeaderV1 (line 10) | struct FileSubHeaderV1 { type SectionFlags (line 23) | enum class SectionFlags : uint32_t { type SectionHeaderV1 (line 28) | struct SectionHeaderV1 { type FuncV1 (line 38) | struct FuncV1 { type RelocV1 (line 50) | struct RelocV1 { type DependencyV1 (line 57) | struct DependencyV1 { type ImportV1 (line 63) | struct ImportV1 { type DependencyEventV1 (line 69) | struct DependencyEventV1 { type ReplacementV1 (line 75) | struct ReplacementV1 { type ExportV1 (line 82) | struct ExportV1 { type CallbackV1 (line 88) | struct CallbackV1 { type EventV1 (line 93) | struct EventV1 { type HookV1 (line 98) | struct HookV1 { function T (line 106) | const T* reinterpret_data(std::span data, size_t& offset, si... function check_magic (line 116) | bool check_magic(const FileHeader* header) { function round_up_4 (line 123) | static inline uint32_t round_up_4(uint32_t value) { function parse_v1 (line 127) | bool parse_v1(std::span data, const std::unordered_map& vec, const T* data) { function vec_put (line 533) | void vec_put(std::vector& vec, const std::string& data) { FILE: src/operations.cpp type N64Recomp (line 3) | namespace N64Recomp { FILE: src/recompilation.cpp type JalResolutionResult (line 16) | enum class JalResolutionResult { function JalResolutionResult (line 24) | JalResolutionResult resolve_jal(const N64Recomp::Context& context, size_... function ctx_gpr_prefix (line 107) | std::string_view ctx_gpr_prefix(int reg) { function process_instruction (line 115) | bool process_instruction(GeneratorType& generator, const N64Recomp::Cont... function recompile_function_impl (line 763) | bool recompile_function_impl(GeneratorType& generator, const N64Recomp::...