Memory organization and Auxiliary Memory Access Data-structures and routines.
More...
Memory organization and Auxiliary Memory Access Data-structures and routines.
@ section Space Organization: The data areas is divided in the following way:
Lower Addresses
HeapBase \
HeapTop-1 /
HeapTop \
| Free Space
HeapMax /
GlobalBase-1/
GlobalBase \
| Global Stack
H /
ASP \
| Local stack
LocalBase /
TRBase /
TR \
| Trail
Higher Adresses
◆ FREEB
Definition at line 63 of file alloc.h.
◆ b_next
◆ b_next_size
struct FREEB* b_next_size |
◆ b_size
◆ scratch_buf_struct_t
struct scratch_buf_struct_t |
thread view of the scratch buffer
Definition at line 164 of file alloc.h.
◆ data
◆ in_use
buffer size
Definition at line 167 of file alloc.h.
◆ sz
buffer data
Definition at line 166 of file alloc.h.
◆ scratch_user_buf_struct_t
struct scratch_user_buf_struct_t |
user view of the scratch buffer
Definition at line 171 of file alloc.h.
◆ data
◆ is_thread_scratch_buf
bool is_thread_scratch_buf |
◆ n_of
are we using Local_ScratchBuf for this
Definition at line 174 of file alloc.h.
◆ size_of
◆ AdjustLargePageSize
#define AdjustLargePageSize |
( |
|
X | ) |
(((X)+ (LGPAGE_SIZE-1))/LGPAGE_SIZE)*LGPAGE_SIZE; |
◆ AdjustPageSize
#define AdjustPageSize |
( |
|
X | ) |
(((X)+ (YAP_ALLOC_SIZE-1))/YAP_ALLOC_SIZE)*YAP_ALLOC_SIZE; |
◆ AdjustSize
#define AdjustSize |
( |
|
X | ) |
((X+YAP_ALIGN) & YAP_ALIGNMASK) |
◆ ALIGN_SIZE
#define ALIGN_SIZE |
( |
|
X, |
|
|
|
SIZE |
|
) |
| (((CELL)(X)+((SIZE)-1)) & ~((SIZE)-1)) |
◆ BlockTrailer
◆ InUseFlag
#define InUseFlag 0x80000000 |
◆ LGPAGE_SIZE
#define LGPAGE_SIZE (16*Yap_page_size) |
◆ MaxBlockSize
#define MaxBlockSize 0xffffff |
◆ MaxTmp
#define MaxTmp |
( |
|
USES_REGS1 | ) |
(MaxBlockSize+1) |
◆ MinBlockSize
◆ SCRATCH_INC_SIZE
#define SCRATCH_INC_SIZE K64 |
◆ SCRATCH_START_SIZE
#define SCRATCH_START_SIZE K64 |
◆ YAP_ALIGN
◆ YAP_ALIGNMASK
#define YAP_ALIGNMASK ((CELL)(-8)) |
◆ YAP_ALLOC_SIZE
#define YAP_ALLOC_SIZE Yap_page_size |
◆ YAP_SEG_SIZE
definitions required by saver/restorer and memory manager
Definition at line 61 of file alloc.h.
◆ Yap_add_memory_hole()
void Yap_add_memory_hole |
( |
ADDR |
Start, |
|
|
ADDR |
End |
|
) |
| |
◆ Yap_AllocHole()
void Yap_AllocHole |
( |
UInt |
actual_request, |
|
|
UInt |
total_size |
|
) |
| |
◆ Yap_InitHeap()
void Yap_InitHeap |
( |
void * |
heap_addr | ) |
|
◆ Yap_page_size