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 @trusted void
nbytes
(uintsize
, const(char)*ptr
); - Append data represented by ptr[0..size]
- nothrow @trusted void
abytes
(tym_tty
, uintoffset
, uintsize
, const(char)*ptr
, uintnzeros
, ubyte_align
); - Write a reference to the data ptr[0..size+nzeros]Parameters:
tym_t ty
pointer type uint offset
to be added to offset of data generated uint size
number of bytes pointed to by ptr const(char)* ptr
points to data bytes uint nzeros
number of zero bytes to add to the end ubyte _align
log2() 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
(uintsize
); - 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-2024 by the D Language Foundation | Page generated by
Ddoc on Wed Dec 18 08:51:57 2024