Define registers, register masks, and the CPU instruction linked list


Compiler implementation of the D programming language.


Walter Bright

Source: backend/code.d

  • Declaration

    struct _Declaration;

    Code data type

  • Declaration

    nothrow @safe code* code_calloc();


  • Declaration

    struct REGSAVE;

    Register save state.

  • Declaration

    struct LocalSection;

    Local sections on the stack

  • Declaration

    uint usednteh;

    As we generate code, collect information about what parts of NT exception handling we need.

  • Declaration

    struct CGstate;

    Code Generator State

  • Declaration

    struct FuncParamRegs;

  • Declaration

    nothrow @system regm_t iasm_regs(block* bp);

    Get registers used by a given block


    block* bp

    asm block

    Return Value

    mask of registers used by block bp.

  • Declaration

    nothrow @trusted void regimmed_set(int reg, targ_size_t e);

    Set value in regimmed for reg.

    NOTE: For 16 bit generator, this is always a (targ_short) sign-extended value.