111
|
1 ------------------------------------------------------------------------------
|
|
2 -- --
|
|
3 -- GNAT COMPILER COMPONENTS --
|
|
4 -- --
|
|
5 -- A L L O C --
|
|
6 -- --
|
|
7 -- S p e c --
|
|
8 -- --
|
131
|
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. --
|
111
|
10 -- --
|
|
11 -- GNAT is free software; you can redistribute it and/or modify it under --
|
|
12 -- terms of the GNU General Public License as published by the Free Soft- --
|
|
13 -- ware Foundation; either version 3, or (at your option) any later ver- --
|
|
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
|
|
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
|
|
16 -- or FITNESS FOR A PARTICULAR PURPOSE. --
|
|
17 -- --
|
|
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
|
|
19 -- additional permissions described in the GCC Runtime Library Exception, --
|
|
20 -- version 3.1, as published by the Free Software Foundation. --
|
|
21 -- --
|
|
22 -- You should have received a copy of the GNU General Public License and --
|
|
23 -- a copy of the GCC Runtime Library Exception along with this program; --
|
|
24 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
|
|
25 -- <http://www.gnu.org/licenses/>. --
|
|
26 -- --
|
|
27 -- GNAT was originally developed by the GNAT team at New York University. --
|
|
28 -- Extensive contributions were provided by Ada Core Technologies Inc. --
|
|
29 -- --
|
|
30 ------------------------------------------------------------------------------
|
|
31
|
|
32 -- This package contains definitions for initial sizes and growth increments
|
|
33 -- for the various dynamic arrays used for the main compiler data structures.
|
|
34 -- The indicated initial size is allocated for the start of each file, and
|
|
35 -- the increment factor is a percentage used to increase the table size when
|
|
36 -- it needs expanding (e.g. a value of 100 = 100% increase = double)
|
|
37
|
|
38 -- Note: the initial values here are multiplied by Table_Factor as set by the
|
|
39 -- -gnatTnn switch. This variable is defined in Opt, as is the default value
|
|
40 -- for the table factor.
|
|
41
|
|
42 package Alloc is
|
|
43
|
|
44 -- The comment shows the unit in which the table is defined
|
|
45
|
|
46 All_Interp_Initial : constant := 1_000; -- Sem_Type
|
|
47 All_Interp_Increment : constant := 100;
|
|
48
|
|
49 Branches_Initial : constant := 1_000; -- Sem_Warn
|
|
50 Branches_Increment : constant := 100;
|
|
51
|
|
52 Conditionals_Initial : constant := 1_000; -- Sem_Warn
|
|
53 Conditionals_Increment : constant := 100;
|
|
54
|
|
55 Conditional_Stack_Initial : constant := 50; -- Sem_Warn
|
|
56 Conditional_Stack_Increment : constant := 100;
|
|
57
|
|
58 Elists_Initial : constant := 200; -- Elists
|
|
59 Elists_Increment : constant := 100;
|
|
60
|
|
61 Elmts_Initial : constant := 1_200; -- Elists
|
|
62 Elmts_Increment : constant := 100;
|
|
63
|
|
64 File_Name_Chars_Initial : constant := 10_000; -- Osint
|
|
65 File_Name_Chars_Increment : constant := 100;
|
|
66
|
|
67 In_Out_Warnings_Initial : constant := 100; -- Sem_Warn
|
|
68 In_Out_Warnings_Increment : constant := 100;
|
|
69
|
131
|
70 Ignored_Ghost_Nodes_Initial : constant := 100; -- Ghost
|
|
71 Ignored_Ghost_Nodes_Increment : constant := 100;
|
111
|
72
|
|
73 Inlined_Initial : constant := 100; -- Inline
|
|
74 Inlined_Increment : constant := 100;
|
|
75
|
|
76 Inlined_Bodies_Initial : constant := 50; -- Inline
|
|
77 Inlined_Bodies_Increment : constant := 200;
|
|
78
|
|
79 Interp_Map_Initial : constant := 200; -- Sem_Type
|
|
80 Interp_Map_Increment : constant := 100;
|
|
81
|
|
82 Lines_Initial : constant := 500; -- Sinput
|
|
83 Lines_Increment : constant := 150;
|
|
84
|
|
85 Linker_Option_Lines_Initial : constant := 5; -- Lib
|
|
86 Linker_Option_Lines_Increment : constant := 200;
|
|
87
|
|
88 Lists_Initial : constant := 4_000; -- Nlists
|
|
89 Lists_Increment : constant := 200;
|
|
90
|
|
91 Load_Stack_Initial : constant := 10; -- Lib
|
|
92 Load_Stack_Increment : constant := 100;
|
|
93
|
|
94 Name_Chars_Initial : constant := 50_000; -- Namet
|
|
95 Name_Chars_Increment : constant := 100;
|
|
96
|
|
97 Name_Qualify_Units_Initial : constant := 200; -- Exp_Dbug
|
|
98 Name_Qualify_Units_Increment : constant := 300;
|
|
99
|
|
100 Names_Initial : constant := 6_000; -- Namet
|
|
101 Names_Increment : constant := 100;
|
|
102
|
|
103 Nodes_Initial : constant := 50_000; -- Atree
|
|
104 Nodes_Increment : constant := 100;
|
|
105 Nodes_Release_Threshold : constant := 100_000;
|
|
106
|
|
107 Notes_Initial : constant := 100; -- Lib
|
|
108 Notes_Increment : constant := 200;
|
|
109
|
|
110 Obsolescent_Warnings_Initial : constant := 50; -- Sem_Prag
|
|
111 Obsolescent_Warnings_Increment : constant := 200;
|
|
112
|
|
113 Pending_Instantiations_Initial : constant := 10; -- Inline
|
|
114 Pending_Instantiations_Increment : constant := 100;
|
|
115
|
|
116 Rep_Table_Initial : constant := 1000; -- Repinfo
|
|
117 Rep_Table_Increment : constant := 200;
|
|
118
|
|
119 Scope_Stack_Initial : constant := 10; -- Sem
|
|
120 Scope_Stack_Increment : constant := 200;
|
|
121
|
|
122 SFN_Table_Initial : constant := 10; -- Fname
|
|
123 SFN_Table_Increment : constant := 200;
|
|
124
|
|
125 Source_File_Initial : constant := 10; -- Sinput
|
|
126 Source_File_Increment : constant := 200;
|
|
127
|
|
128 String_Chars_Initial : constant := 2_500; -- Stringt
|
|
129 String_Chars_Increment : constant := 150;
|
|
130
|
|
131 Strings_Initial : constant := 5_00; -- Stringt
|
|
132 Strings_Increment : constant := 150;
|
|
133
|
|
134 Successors_Initial : constant := 2_00; -- Inline
|
|
135 Successors_Increment : constant := 100;
|
|
136
|
|
137 Udigits_Initial : constant := 10_000; -- Uintp
|
|
138 Udigits_Increment : constant := 100;
|
|
139
|
|
140 Uints_Initial : constant := 5_000; -- Uintp
|
|
141 Uints_Increment : constant := 100;
|
|
142
|
|
143 Units_Initial : constant := 30; -- Lib
|
|
144 Units_Increment : constant := 100;
|
|
145
|
|
146 Ureals_Initial : constant := 200; -- Urealp
|
|
147 Ureals_Increment : constant := 100;
|
|
148
|
|
149 Unreferenced_Entities_Initial : constant := 1_000; -- Sem_Warn
|
|
150 Unreferenced_Entities_Increment : constant := 100;
|
|
151
|
|
152 Warnings_Off_Pragmas_Initial : constant := 500; -- Sem_Warn
|
|
153 Warnings_Off_Pragmas_Increment : constant := 100;
|
|
154
|
|
155 With_List_Initial : constant := 10; -- Features
|
|
156 With_List_Increment : constant := 300;
|
|
157
|
|
158 Xrefs_Initial : constant := 5_000; -- Cross-refs
|
|
159 Xrefs_Increment : constant := 300;
|
|
160
|
|
161 Drefs_Initial : constant := 5; -- Dereferences
|
|
162 Drefs_Increment : constant := 1_000;
|
|
163
|
|
164 end Alloc;
|