3 procedure alignment2
is
5 pragma COMPONENT_ALIGNMENT
(STORAGE_UNIT
);
7 MAX_LIST_SIZE
: constant INTEGER := 128*16;
9 LEVEL2_SIZE
: constant INTEGER := 128;
11 LEVEL1_SIZE
: constant INTEGER
12 := (MAX_LIST_SIZE
- 1) / LEVEL2_SIZE
+ 1;
14 type LEVEL2_ARRAY_TYPE
is
15 array (1..LEVEL2_SIZE
) of Integer;
20 DATA
: LEVEL2_ARRAY_TYPE
:= ( others => 0 );
23 type LEVEL2_PTR_TYPE
is access all LEVEL2_TYPE
;
25 type LEVEL1_ARRAY_TYPE
is
26 array( 1..LEVEL1_SIZE
) of LEVEL2_PTR_TYPE
;
30 LAST_LINE
: INTEGER := 0;
31 LEVEL2_PTR
: LEVEL1_ARRAY_TYPE
;
35 L2
: aliased LEVEL2_TYPE
;
37 procedure q
(LA
: in out LEVEL1_ARRAY_TYPE
) is
44 if L1
.LEVEL2_PTR
(1) /= L2
'Access then