Free Activation Group-Based Heap Space Storage (FREHSS)


Op Code (Hex) Operand 1


03B5 Space allocation


Operand 1: Space pointer.
Bound program access

Built-in number for FREHSS is 114. FREHSS ( space_allocation : address )

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

Description  The heap space storage allocation beginning at the byte addressed by operand 1 is de-allocated from the heap space which supplied the allocation. De-allocation makes the storage available for reuse by subsequent Allocate Activation Group-Based Heap Space Storage (ALCHSS) instructions. The entire space allocation is de-allocated; partial de-allocation is not supported. 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.

Operand 1 must be exactly equal to the space pointer that was returned by some previous Allocate Activation Group-Based Heap Space Storage (ALCHSS) or Reallocate Activation Group-Based Heap Space Storage (REALCHSS) instruction. If it is not, an invalid request  (hex 4502) exception will be signaled.

Subsequent references to space allocations which have been freed cause unpredictable results.

FREHSS will signal an object domain or hardware storage protection violation  (hex 4401) exception if a program running user state attempts to de-allocate heap space storage in 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