Set Activation Group-Based Heap Space Storage Mark (SETHSSMK)


Op Code (Hex) Operand 1 Operand 2

03B6 Mark identifier Heap identifier

Operand 1: Space pointer data object.

Operand 2: Binary(4) scalar.

Bound program access

Built-in number for SETHSSMK is 118. SETHSSMK ( mark_identifier : address of space pointer(16) heap_identifier : address of signed binary(4) )

Note: The term "heap space" in this instruction refers to an "activation group-based heap space".

Description  The heap space identified by operand 2 is marked and the mark identifier is returned in operand 1.

Marking a heap space allows a subsequent Free Activation Group-Based Heap Space Storage from Mark (FREHSSMK) instruction, using the mark identifier returned in operand 1, to free all outstanding allocations that were performed against the heap space since the heap space was marked with that mark identifier. This relieves the user of performing a Free Activation Group-Based Heap Space Storage (FREHSS) for every individual heap space allocation.

A heap space may have multiple marks.

The heap identifier specified in operand 2 is the identifier that was returned on the Create Activation Group-Based Heap Space (CRTHS) instruction. An attempt to mark the default heap space (heap identifier value of 0) will result in an invalid request  (hex 4502) exception. An attempt to mark a heap space that has been created to not allow a Set Heap Space Storage Mark will result in an invalid request  (hex 4502) exception.

Operand 2 is not modified by the instruction.

Authorization Required

Lock Enforcement

Exceptions

06 Addressing

08 Argument/Parameter

10 Damage Encountered

1C Machine-Dependent

20 Machine Support

24 Pointer Specification

44 Protection Violation

45 Heap Space