Sign in

docs ILE Concepts

Static Procedure Calls

Static Procedure Calls

Static Procedure Calls

A call to an ILE procedure adds a new call stack entry to the bottom of the stack and passes control to a specified procedure. Examples include any of the following:

  1. A call to a procedure in the same module
  2. A call to a procedure in a different module in the same ILE program or service program
  3. A call to a procedure that has been exported from an ILE service program in the same activation group
  4. A call to a procedure that has been exported from an ILE service program in a different activation group

In examples 1, 2, and 3, the static procedure call does not cross an activation group boundary. This call path is much shorter than the path for a dynamic program call to an ILE or OPM program. In example 4, the call crosses an activation group boundary, and additional processing is done to switch activation group resources. The call path length is longer than the path length of a static procedure call within an activation group, but still shorter than for a dynamic program call.

For a static procedure call, the called procedure has been bound to the calling procedure. The call always accesses the same procedure. In contrast, the target of a procedure pointer call can vary with each call.