Reallocate Activation Group-Based Heap Space Storage (REALCHSS)


Op Code (Hex) Operand 1 Operand 2

03BA Space allocation Size of space reallocation

Operand 1: Space pointer.

Operand 2: Binary(4) scalar.

Bound program access

Built-in number for REALCHSS is 117. REALCHSS ( space_allocation : address size_of_space_reallocation : signed binary(4) ) : space pointer(16) to space reallocation

space allocation and size of space_reallocation correspond to operands 1 and 2 on the REALCHSS operation; the return value corresponds to operand 1 after the function completes.

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

Description  A new heap space storage allocation of at least the size indicated by operand 2 is provided from the same heap space as the original allocation, which is indicated by operand 1. The operand 1 space pointer is set to address the first byte of the new allocation, which will begin on a boundary at least as great as the minimum boundary specified when the heap space was created.

Each allocation associated with a heap space provides a continuum of contiguously addressable bytes. Individual allocations within a heap space have no addressability affinity with each other.

The maximum single allocation allowed is determined by the maximum single allocation size specified when the heap space was created. The maximum single allocation possible is (16M - 1 page) bytes. To determine the current page size use the MATRMD instruction.

Storage that is reallocated maintains the same mark/release status as the original allocation. If the original allocation was marked, the new allocation carries the same mark and will be released by a Free Activation Group-Based Heap Space Storage from Mark (FREHSSMK) which specifies that mark identifier.

The original heap space storage allocation will be freed. Subsequent references to the original allocation will cause unpredictable results.

The contents of the original allocation are preserved in the following fashion:

REALCHSS will signal an object domain or hardware storage protection violation  (hex 4401) exception if a program running user state attempts to reallocate heap space storage in a heap space with a domain of system.

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