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

Instruction Syntax

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

  • None

Lock Enforcement

  • None

Exceptions

  • 06 Addressing
    • 0601 Space Addressing Violation
    • 0602 Boundary Alignment
    • 0603 Range
  • 08 Argument/Parameter
    • 0801 Parameter Reference Violation
  • 10 Damage Encountered
    • 1004 System Object Damage State
    • 1005 Authority Verification Terminated Due to Damaged Object
    • 1044 Partial System Object Damage
  • 1C Machine-Dependent
    • 1C03 Machine Storage Limit Exceeded
    • 1C04 Object Storage Limit Exceeded
    • 1C09 Auxiliary Storage Pool Number Invalid
  • 20 Machine Support
    • 2002 Machine Check
    • 2003 Function Check
  • 24 Pointer Specification
    • 2401 Pointer Does Not Exist
    • 2402 Pointer Type Invalid
    • 2403 Pointer Addressing Invalid Object Type
  • 44 Protection Violation
    • 4401 Object Domain or Hardware Storage Protection Violation
  • 45 Heap Space
    • 4502 Invalid Request
    • 4505 Heap Space Destroyed
    • 4506 Invalid Heap Space Condition
    • 4507 Invalid Mark Identifier