Op Code (Hex) | Operand 1 | Operand 2 | ||
---|---|---|---|---|
03B6 | Mark identifier | Heap identifier |
Operand 2: Binary(4) scalar.
Bound program access |
---|
|
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.
06 Addressing
08 Argument/Parameter
10 Damage Encountered
1C Machine-Dependent
20 Machine Support
24 Pointer Specification
44 Protection Violation
45 Heap Space