View source code
Display the source code in ddmd/toir.d from which this page was generated on github.
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 local clone.

Module ddmd.toir

Compiler implementation of the D programming language.

Functions

Name Description
buildClosure Closures are implemented by taking the local variables that need to survive the scope of the function, and copying them into a gc allocated chuck of memory. That chunk, called the closure here, is inserted into the linked list of stack frames instead of the usual stack frame.
getEthis Return elem that evaluates to the static frame pointer for function fd. If fd is a member function, the returned expression will compute the value of fd's 'this' variable. This routine is critical for implementing nested functions.
incUsageElem Produce elem which increments the usage count for a particular line. Used to implement -cov switch (coverage analysis).
intrinsic_op Convert intrinsic function to operator. Returns that operator, -1 if not an intrinsic function.
resolveLengthVar Given an expression e that is an array, determine and set the 'length' variable.
retStyle Determine return style of function - whether in registers or through a hidden pointer to the caller's stack.
setEthis Initialize the hidden aggregate member, vthis, with the context pointer.

Authors

Walter Bright

License

Boost License 1.0

Comments