Invocation provides the ability to pass data from one address space to another. This is made possible in two ways. First, data stored in certain CPU registers is preserved during an invocation, providing a convenient and extremely low cost way to move data. Second, it is possible to specify a contiguous region in the source address space whose data is to be made available within the target address space. These methods permit both small and large quantities of data to be passed between address spaces.
A final feature of invocation is known as nesting. When a locus executes within an address space, that locus is said to be invoking that address space. Nesting allows a locus to invoke another address space and subsequently resume execution in the orignal address space in a manner analogous to procedure call. This is known as returning from an invocation. For symmetry, it is also possible to pass data when returning from an invocation.