View source code
Display the source code in dmd/backend/nteh.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 dmd.backend.nteh

Compiler implementation of the D programming language.

Coverage

https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/nteh.d

Functions

NameDescription
cdsetjmp(cdb, e, pretregs) Generate code for setjmp().
nteh_context_string()
nteh_contextsym() Return pointer to context symbol.
nteh_contextsym_size() Return size of context symbol on stack.
nteh_declarvars(bx) Declare frame variables.
nteh_ecodesym() Return pointer to ecode symbol.
nteh_epilog(cdb) Generate NT exception handling function epilog.
nteh_filltables()
nteh_filter(cdb, b) Put out prolog for BC_filter block.
nteh_framehandler(sfunc, scopetable) Generate C++ or D frame handler.
nteh_gentables(sfunc) Generate and output scope table. Not called for NTEH C++ exceptions
nteh_monitor_epilog(cdb, retregs) Release monitor, unhook monitor exception handler.
nteh_monitor_prolog(cdb, shandle) Set monitor, hook monitor exception handler.
nteh_patchindex(c, sindex) Generate code to set scope index.
nteh_prolog(cdb) Generate NT exception handling function prolog.
nteh_setScopeTableIndex(blx, scope_index) Generate elem that sets the context index into the scope table.
nteh_setsp(cdb, op) Set/Reset ESP from context.
nteh_unwind(cdb, saveregs, stop_index) Call local_unwind(), which means call the _finally blocks until stop_index is reached.
nteh_usevars() Mark EH variables as used so that they don't get optimized away.

Authors

Walter Bright

License

Boost License 1.0