In general, this calling standard promotes the highest degree of performance, portability, efficiency, and consistency in the interface between called procedures in the Windows NT for Alpha Systems environment.
The standard must be applicable to all intermodule callable interfaces in the native software system. Specifically, the standard must consider the requirements of important compiled languages including Ada, BASIC, BLISS, C, C++, COBOL, FORTRAN, Pascal, LISP, PL/I, and calls to the operating system and library procedures. The needs of other languages that may be supported in the future must be met by the standard or by compatible revision to it.
It is the goal of this Calling Standard to do the following:
This calling standard allows a compiler to determine whether or not to use a stack frame based on the complexity of the procedure being compiled. A recompilation of a called routine that causes a change in stack frame usage does not require a recompilation of its callers.