W3cubDocs

/D

dmd.backend.dt

Compiler implementation of the D programming language.

Authors:
Walter Bright
License:
Boost License 1.0
Source
https://github.com/dlang/dmd/blob/master/src/dmd/backend/dt.d
nothrow @nogc void dt_free(dt_t* dt);

Free a data definition struct.

nothrow @nogc void dt_term();

Free free list.

nothrow @nogc void dtpatchoffset(dt_t* dt, uint offset);
nothrow @nogc void init_common(Symbol* s);

Make a common block for s.

nothrow @nogc uint dt_size(const(dt_t)* dtstart);

Compute size of a dt

nothrow @nogc bool dtallzeros(const(dt_t)* dt);

Return true if dt is all zeros.

nothrow @nogc bool dtpointers(const(dt_t)* dtstart);

Return true if dt contains pointers (requires relocations).

nothrow @nogc void dt2common(dt_t** pdt);

Turn DT_azeros into DTcommon

struct DtBuilder;
nothrow @nogc dt_t* finish();

Finish and return completed data structure.

nothrow @nogc void nbytes(uint size, const(char)* ptr);

Append data represented by ptr[0..size]

nothrow @nogc void abytes(tym_t ty, uint offset, uint size, const(char)* ptr, uint nzeros);

Write a reference to the data ptr[0..size+nzeros]

nothrow @nogc void dword(int value);

Write 4 bytes of value.

nothrow @nogc void size(ulong value);

Write a size_t value.

nothrow @nogc void nzeros(uint size);

Write a bunch of zeros

nothrow @nogc void xoff(Symbol* s, uint offset, tym_t ty);

Write a reference to s+offset

nothrow @nogc void xoff(Symbol* s, uint offset);

Create reference to s+offset

nothrow @nogc dt_t* xoffpatch(Symbol* s, uint offset, tym_t ty);

Like xoff(), but returns handle with which to patch 'offset' value.

nothrow @nogc Symbol* dtoff(dt_t* dt, uint offset);

Create a reference to another dt.

Returns:
the internal symbol used for the other dt
nothrow @nogc void coff(uint offset);

Write reference to offset in code segment.

nothrow @nogc void cat(dt_t* dt);

Append dt to data.

nothrow @nogc void cat(ref DtBuilder dtb);

Append dtb to data.

nothrow @nogc void repeat(dt_t* dt, size_t count);

Repeat a list of dt_t's count times.

nothrow @nogc uint length();

Return size of data.

nothrow @nogc bool isZeroLength();

Return true if size of data is 0.

nothrow @nogc dt_t* dt_get_nzeros(uint n);

Temporary hack to initialize a dt_t* for C.

© 1999–2019 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/dmd_backend_dt.html