Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
dmd.backend.dt
Intermediate representation for static data
Compiler implementation of the
D programming language.
Authors:
License:
Documentation https://dlang.org/phobos/dmd_backend_dt.html
- nothrow @nogc @trusted void
dt_free(dt_t*dt); - Free a data definition struct.
- nothrow @nogc @safe void
dt_term(); - Free free list.
- nothrow @nogc @safe void
dtpatchoffset(dt_t*dt, uintoffset); - nothrow @nogc @safe void
init_common(Symbol*s); - Make a common block for s.
- nothrow @nogc @safe uint
dt_size(const(dt_t)*dtstart); - Compute size of a dt
- nothrow @nogc @safe bool
dtallzeros(const(dt_t)*dt); - Return true if dt is all zeros.
- nothrow @nogc @safe bool
dtpointers(const(dt_t)*dtstart); - Return true if dt contains pointers (requires relocations).
- nothrow @nogc @safe void
dt2common(dt_t**pdt); - Turn DT.azeros into DTcommon
- struct
DtBuilder; -
- nothrow @safe void
checkInitialized(); - Useful for checking if DtBuilder got initialized.
- nothrow @safe void
print(); - Print state of DtBuilder for debugging.
- nothrow @safe dt_t*
finish(); - Finish and return completed data structure.
- nothrow @safe void
nbytes(const(char)[]ptr);
nothrow @trusted voidnbytes(const(ubyte)[]data); - Append data represented by ptr[0..size]
- nothrow @trusted void
abytes(tym_tty, uintoffset, const(char)[]data, uintnzeros, ubyte_align); - Write a reference to
datawithnzeroszero bytes at the end.Parameters:tym_t typointer type uint offsetto be added to offset of data generated const(char)[] datadata to write uint nzerosnumber of zero bytes to add to the end ubyte _alignlog2() of byte alignment of pointed-to data - nothrow @trusted void
dword(intvalue); - Write 4 bytes of value.
- nothrow @trusted void
size(ulongvalue); - Write a size_t value.
- nothrow @safe void
nzeros(size_tsize); - Write a bunch of zeros
- nothrow @trusted void
xoff(Symbol*s, uintoffset, tym_tty); - Write a reference to s+offset
- nothrow @safe void
xoff(Symbol*s, uintoffset); - Create reference to s+offset
- nothrow @trusted dt_t*
xoffpatch(Symbol*s, uintoffset, tym_tty); - Like xoff(), but returns handle with which to patch 'offset' value.
- nothrow @safe Symbol*
dtoff(dt_t*dt, uintoffset); - Create a reference to another dt.Returns:the internal symbol used for the other dt
- nothrow @trusted void
coff(uintoffset); - Write reference to offset in code segment.
- nothrow @safe void
cat(dt_t*dt); - Append dt to data.
- nothrow @safe void
cat(ref DtBuilderdtb); - Append dtb to data.
- nothrow @trusted void
repeat(dt_t*dt, size_tcount); - Repeat a list of dt_t's count times.
- nothrow @safe uint
length(); - Return size of data.
- nothrow @safe bool
isZeroLength(); - Return true if size of data is 0.
- nothrow @nogc @safe dt_t*
dt_get_nzeros(uintn); - Temporary hack to initialize a dt_t* for C.
Copyright © 1999-2025 by the D Language Foundation | Page generated by
Ddoc on Mon Mar 31 10:28:12 2025