The prime purpose of a call or a function invocation is to transfer control to a target routine and optionally pass/receive data to/from the called routine. The transfer of control and communication must be as efficient as possible. Language Environment assumes that:
This topic describes the standard Language Environment protocols for passing arguments to external routines. These protocols do not apply to internal routines or to compiled code calling its own library routine. Each HLL is free to decide the method for transferring control as well as passing arguments between internal routines.