Functions provided
When calling into a Smalltalk program, the calling HLL identifies, by way of a call parameter list, call-in variable information. These variables are used to pass to the Smalltalk VM key information such as object selector (a class name) and receiver (a class method) object names.
Existing single-image VMs have been enhanced to process callable requests. The HLL call into the Smalltalk VM is accomplished by an ordered sequence of the functions listed below. Note that the function names are uppercase for MVS and lowercase for the workstation.
VASTART
Signals the VM to initialize and prepare for image execution
VARUN
Signals the VM to execute the image
VASTOP
Initiates image shutdown
Each of these calls returns status and result values indicating its outcome.
In addition, the VARUN call provides the means of passing a general-purpose IOAREA storage area to the Smalltalk VM. The length, size, and location of this storage area are determined by the calling HLL. You can use this generic IOAREA to pass a variety of data structures to the executing Smalltalk image, and to receive return data. This flexibility makes it possible to interact efficiently with legacy HLL applications.
The ability to separately start, run, and stop processing of a Smalltalk image (using the VASTART, VARUN, and VASTOP functions) can result in significant performance improvements. By re-executing an already-initialized image (by calling VARUN from the HLL), you can avoid the overhead involved in image initialization (which is handled once by VASTART).
Last modified date: 07/08/2019