dmd.backend.dout

Transition from intermediate representation to code generator

Compiler implementation of the D programming language.

Members

Functions

alignOffset
void alignOffset(int seg, targ_size_t datasize)

Align segment offset. Input: seg segment to be aligned datasize size in bytes of object to be aligned

dt_writeToObj
void dt_writeToObj(Obj objmod, dt_t* dt, int seg, targ_size_t offset)

Write dt to Object file.

out_readonly
void out_readonly(Symbol* s)

Mark a Symbol as going into a read-only segment.

out_readonly_comdat
void out_readonly_comdat(Symbol* s, const(void)* p, uint len, uint nzeros)

Output Symbol as a readonly comdat.

out_regcand
void out_regcand(symtab_t* psymtab)

Determine register candidates.

out_string_literal
Symbol* out_string_literal(const(char)* str, uint len, uint sz)

Write out a readonly string literal in an implementation-defined manner.

outcommon
void outcommon(Symbol* s, targ_size_t n)

Output n bytes of a common block, n > 0.

outdata
void outdata(Symbol* s)

Write out statically allocated data. Input: s symbol to be initialized

outelem
void outelem(elem* e, bool addressOfParam)

Walk expression tree, converting it from a PARSER tree to a code generator tree.

outthunk
void outthunk(Symbol* sthunk, Symbol* sfunc, uint p, tym_t thisty, targ_size_t d, int i, targ_size_t d2)

Output function thunk.

writefunc
void writefunc(Symbol* sfunc)

Optimize function, generate code for it, and write it out.

Manifest constants

ROMAX
enum ROMAX;

Write data into read-only data segment. Return symbol for it.

Meta