STICKY-PERFORM

Specifies the behavior of PERFORM statements when a program is reentered.

Syntax:

>>-.---.-.----.--STICKY-PERFORM------------><
   +-/-+ +-NO-+

Parameters:

None

Properties:

Default: NOSTICKY-PERFORM
Phase: Syntax check
$SET: Initial

Comments:

This directive has an effect only if your program was compiled with either PERFORM-TYPE"OSVS" or PERFORM-TYPE"RM" specified.

If you specified PERFORM-TYPE"OSVS" or PERFORM-TYPE"RM" when compiling, PERFORM statements are implemented by having a storage area, or bucket, associated with each place in the program that can be the end of a PERFORM statement's range. When a PERFORM statement is executed the return address is stored in the bucket, and at the end of the PERFORM statement's range the bucket is read to determine where control should return to and then cleared.

By default, an EXIT PROGRAM statement clears these buckets, so that if the program is reentered, none of the return addresses of the previously executed PERFORM statements remains. Specifying STICKY-PERFORM stops the buckets from being cleared by an EXIT PROGRAM statement. This means that on reentry, the return addresses of all previously executed PERFORM statements remain.

A STOP RUN or CANCEL statement clears the buckets regardless of the setting of this directive.