Repository: dotnet/runtime
File: src/coreclr/tools/Common/JitInterface/CorInfoTypes.cs (C#)

Code before:
        ARM32_THUMB_MOV32,                     // Thumb2: based MOVW/MOVT
        ARM32_THUMB_MOV32_PCREL,               // Thumb2: based MOVW/MOVT

        // LoongArch64 relocs
        LOONGARCH64_PC,                        // LoongArch64: pcalau12i+imm12
        LOONGARCH64_JIR,                       // LoongArch64: pcaddu18i+jirl

        // RISCV64 relocs
        RISCV64_CALL_PLT,                      // RiscV64: auipc + jalr
        RISCV64_PCREL_I,                       // RiscV64: auipc + I-type
        RISCV64_PCREL_S,                       // RiscV64: auipc + S-type

        // Wasm relocs
        WASM_FUNCTION_INDEX_LEB,             // Wasm: a function index encoded as a 5-byte varuint32. Used for the immediate argument of a call instruction.
        WASM_TABLE_INDEX_SLEB,               // Wasm: a function table index encoded as a 5-byte varint32. Used to refer to the immediate argument of a
                                               //  i32.const instruction, e.g. taking the address of a function.
        WASM_TABLE_INDEX_I32,                // Wasm: a function table index encoded as a uint32, e.g. taking the address of a function in a static data initializer.
        WASM_MEMORY_ADDR_LEB,                // Wasm: a linear memory index encoded as a 5-byte varuint32. Used for the immediate argument of a load or store instruction,
                                               //  e.g. directly loading from or storing to a C++ global.
        WASM_MEMORY_ADDR_SLEB,               // Wasm: a linear memory index encoded as a 5-byte varint32. Used for the immediate argument of a i32.const instruction,
                                               //  e.g. taking the address of a C++ global.
        WASM_MEMORY_ADDR_I32,                // Wasm: a linear memory index encoded as a uint32, e.g. taking the address of a C++ global in a static data initializer.
        WASM_TYPE_INDEX_LEB,                 // Wasm: a type index encoded as a 5-byte varuint32, e.g. the type immediate in a call_indirect.
        WASM_GLOBAL_INDEX_LEB,               // Wasm: a global index encoded as a 5-byte varuint32, e.g. the index immediate in a get_global.
        WASM_EVENT_INDEX_LEB,                // Wasm: an event index encoded as a 5-byte varuint32. Used for the immediate argument of a throw and if_except instruction.
        WASM_TABLE_NUMBER_LEB,               // Wasm: a table number encoded as a 5-byte varuint32. Used for the table immediate argument in the table.* instructions.
    }

    public enum CorInfoGCType
    {
        TYPE_GC_NONE,   // no embedded objectrefs
        TYPE_GC_REF,    // Is an object ref
        TYPE_GC_BYREF,  // Is an interior pointer - promote it but don't scan it
        TYPE_GC_OTHER   // requires type-specific treatment
    }

    public enum CorInfoClassId
    {
        CLASSID_SYSTEM_OBJECT,
        CLASSID_TYPED_BYREF,
        CLASSID_TYPE_HANDLE,
        CLASSID_FIELD_HANDLE,
        CLASSID_METHOD_HANDLE,
        CLASSID_STRING,
        CLASSID_ARGUMENT_HANDLE,
        CLASSID_RUNTIME_TYPE,
    }
    public enum CorInfoInline
    {
        INLINE_PASS = 0,   // Inlining OK
        INLINE_PREJIT_SUCCESS = 1,   // Inline check for prejit checking usage succeeded

Review comment (suggestion):
We only need relocs actually used in codegen here. You can delete all the `_I32` ones for example.

Code after:
        ARM32_THUMB_MOV32,                     // Thumb2: based MOVW/MOVT
        ARM32_THUMB_MOV32_PCREL,               // Thumb2: based MOVW/MOVT

        // LoongArch64 relocs
        LOONGARCH64_PC,                        // LoongArch64: pcalau12i+imm12
        LOONGARCH64_JIR,                       // LoongArch64: pcaddu18i+jirl

        // RISCV64 relocs
        RISCV64_CALL_PLT,                      // RiscV64: auipc + jalr
        RISCV64_PCREL_I,                       // RiscV64: auipc + I-type
        RISCV64_PCREL_S,                       // RiscV64: auipc + S-type

        // Wasm relocs
        WASM_FUNCTION_INDEX_LEB,             // Wasm: a function index encoded as a 5-byte varuint32. Used for the immediate argument of a call instruction.
        WASM_TABLE_INDEX_SLEB,               // Wasm: a function table index encoded as a 5-byte varint32. Used to refer to the immediate argument of a
                                               //  i32.const instruction, e.g. taking the address of a function.
        WASM_MEMORY_ADDR_LEB,                // Wasm: a linear memory index encoded as a 5-byte varuint32. Used for the immediate argument of a load or store instruction,
                                               //  e.g. directly loading from or storing to a C++ global.
        WASM_MEMORY_ADDR_SLEB,               // Wasm: a linear memory index encoded as a 5-byte varint32. Used for the immediate argument of a i32.const instruction,
                                               //  e.g. taking the address of a C++ global.
        WASM_TYPE_INDEX_LEB,                 // Wasm: a type index encoded as a 5-byte varuint32, e.g. the type immediate in a call_indirect.
        WASM_GLOBAL_INDEX_LEB,               // Wasm: a global index encoded as a 5-byte varuint32, e.g. the index immediate in a get_global.
    }

    public enum CorInfoGCType
    {
        TYPE_GC_NONE,   // no embedded objectrefs
        TYPE_GC_REF,    // Is an object ref
        TYPE_GC_BYREF,  // Is an interior pointer - promote it but don't scan it
        TYPE_GC_OTHER   // requires type-specific treatment
    }

    public enum CorInfoClassId
    {
        CLASSID_SYSTEM_OBJECT,
        CLASSID_TYPED_BYREF,
        CLASSID_TYPE_HANDLE,
        CLASSID_FIELD_HANDLE,
        CLASSID_METHOD_HANDLE,
        CLASSID_STRING,
        CLASSID_ARGUMENT_HANDLE,
        CLASSID_RUNTIME_TYPE,
    }
    public enum CorInfoInline
    {
        INLINE_PASS = 0,   // Inlining OK
        INLINE_PREJIT_SUCCESS = 1,   // Inline check for prejit checking usage succeeded
        INLINE_CHECK_CAN_INLINE_SUCCESS = 2,   // JIT detected it is permitted to try to actually inline
        INLINE_CHECK_CAN_INLINE_VMFAIL = 3,   // VM specified that inline must fail via the CanInline api