4.1.6 Sending Data

This section defines the Windows NT for Alpha Systems Calling Standard requirements for mechanisms to send data and order of argument evaluation.

Sending Mechanism

As previously defined, the argument-passing mechanisms allowed are immediate value, reference, and descriptor. Requirements for use of these mechanisms follow.

Extended floating values are not passed using the immediate value mechanism; rather, they are passed using the by-reference mechanism. (When by-value semantics are required, however, it may be necessary to make a copy of the actual parameter and pass a reference to that copy in order to avoid improper alias effects.)

When a record is passed by immediate value, the component types are not material to how the argument is aligned; the record will always be quadword aligned.

Order of Argument Evaluation

Since most higher-level languages do not specify the order of evaluation (with respect to side effects) of arguments, those language processors can evaluate arguments in any convenient order. The choice of argument evaluation order and code generation strategy is constrained only by the definition of the particular language. Programs should not be written that depend on the order of evaluation of arguments.