Free Activation Group-Based Heap Space Storage From Mark (FREHSSMK)


Op Code (Hex) Operand 1


03B9 Mark identifier


Operand 1: Space pointer data object.
Bound program access

Built-in number for FREHSSMK is 115. FREHSSMK ( mark_identifier : address of space pointer(16) )

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

Description  All heap space allocations which have occurred from the heap space since it was marked, with the mark identifier supplied in operand 1, are freed. This may include heap space storage marked by intervening Set Activation Group-Based Heap Space Storage Mark (SETHSSMK) instructions. The mark identifier specified in operand 1 and all mark identifiers obtained since the heap space was marked by operand 1 are cleared from the heap space. An attempt to free heap space storage from a mark that has already been cleared by a previous FREHSSMK instruction will result in an invalid mark identifier  (hex 4507) exception. A free of heap space storage can be performed without regard to the activation group in which it was allocated, as long as the allocation was done by a thread in the same process.

FREHSSMK will signal an object domain or hardware storage protection violation  (hex 4401) exception if a program running user state attempts a Free Activation Group-Based Heap Space Storage From Mark for a heap space with a domain of system.

Operand 1 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