Previous: Evaluation Order, Up: Expression Evaluation


2.13.2 Data Accessing

Whenever some function or operator logic is supplied the value of some variable or some constant, a copy of that variable or constant value is being made and the function or operator logic is supplied with the address of the copy. Exceptions are being made when the function or operator logic is indicated to potentially modify the argument (or operand) value (and the argument or operand is a variable, that is).

However, the forth and back copying do incur some performance penalty. Some of this copying overhead may be avoided when setting the X1f4_E4_DDACCESS bit in the flags argument of the expression parsing function. The expression evaluator will arrange for (some) more direct data access for function and operator logics when appropriate (not necessarily every direct data access oportunity will be detected and taken). When accessing data directly the function and operator logics are supplied with the addresses of actual data for variables and constants (and not with the addresses of some copies, as would otherwise be).

See Generation Flags.