------------------------------------------------------------------------------ | |

-- -- | |

-- GNAT COMPILER COMPONENTS -- | |

-- -- | |

-- A L L O C -- | |

-- -- | |

-- S p e c -- | |

-- -- | |

-- Copyright (C) 1992-2021, Free Software Foundation, Inc. -- | |

-- -- | |

-- GNAT is free software; you can redistribute it and/or modify it under -- | |

-- terms of the GNU General Public License as published by the Free Soft- -- | |

-- ware Foundation; either version 3, or (at your option) any later ver- -- | |

-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- | |

-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- | |

-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- | |

-- for more details. You should have received a copy of the GNU General -- | |

-- Public License distributed with GNAT; see file COPYING3. If not, go to -- | |

-- http://www.gnu.org/licenses for a complete copy of the license. -- | |

-- -- | |

-- GNAT was originally developed by the GNAT team at New York University. -- | |

-- Extensive contributions were provided by Ada Core Technologies Inc. -- | |

-- -- | |

------------------------------------------------------------------------------ | |

-- This package contains definitions for initial sizes and growth increments | |

-- for the various dynamic arrays used for the main compiler data structures. | |

-- The indicated initial size is allocated for the start of each file, and | |

-- the increment factor is a percentage used to increase the table size when | |

-- it needs expanding (e.g. a value of 100 = 100% increase = double) | |

-- Note: the initial values here are multiplied by Table_Factor as set by the | |

-- -gnatTnn switch. This variable is defined in Opt, as is the default value | |

-- for the table factor. | |

package Alloc is | |

-- The comment shows the unit in which the tables are defined | |

All_Interp_Initial : constant := 1_000; -- Sem_Type | |

All_Interp_Increment : constant := 100; | |

Branches_Initial : constant := 1_000; -- Sem_Warn | |

Branches_Increment : constant := 100; | |

Conditionals_Initial : constant := 1_000; -- Sem_Warn | |

Conditionals_Increment : constant := 100; | |

Conditional_Stack_Initial : constant := 50; -- Sem_Warn | |

Conditional_Stack_Increment : constant := 100; | |

Elists_Initial : constant := 200; -- Elists | |

Elists_Increment : constant := 100; | |

Elmts_Initial : constant := 1_200; -- Elists | |

Elmts_Increment : constant := 100; | |

File_Name_Chars_Initial : constant := 10_000; -- Osint | |

File_Name_Chars_Increment : constant := 100; | |

In_Out_Warnings_Initial : constant := 100; -- Sem_Warn | |

In_Out_Warnings_Increment : constant := 100; | |

Ignored_Ghost_Nodes_Initial : constant := 100; -- Ghost | |

Ignored_Ghost_Nodes_Increment : constant := 100; | |

Inlined_Initial : constant := 100; -- Inline | |

Inlined_Increment : constant := 100; | |

Inlined_Bodies_Initial : constant := 50; -- Inline | |

Inlined_Bodies_Increment : constant := 200; | |

Interp_Map_Initial : constant := 200; -- Sem_Type | |

Interp_Map_Increment : constant := 100; | |

Lines_Initial : constant := 500; -- Sinput | |

Lines_Increment : constant := 150; | |

Linker_Option_Lines_Initial : constant := 5; -- Lib | |

Linker_Option_Lines_Increment : constant := 200; | |

Lists_Initial : constant := 4_000; -- Nlists | |

Lists_Increment : constant := 200; | |

Load_Stack_Initial : constant := 10; -- Lib | |

Load_Stack_Increment : constant := 100; | |

Name_Chars_Initial : constant := 50_000; -- Namet | |

Name_Chars_Increment : constant := 100; | |

Name_Qualify_Units_Initial : constant := 200; -- Exp_Dbug | |

Name_Qualify_Units_Increment : constant := 300; | |

Names_Initial : constant := 6_000; -- Namet | |

Names_Increment : constant := 100; | |

Node_Offsets_Initial : constant := 500_000; -- Atree, Nlists | |

Node_Offsets_Increment : constant := 100; | |

Slots_Initial : constant := 2_000_000; -- Atree | |

Slots_Increment : constant := 100; | |

Notes_Initial : constant := 100; -- Lib | |

Notes_Increment : constant := 200; | |

Obsolescent_Warnings_Initial : constant := 50; -- Sem_Prag | |

Obsolescent_Warnings_Increment : constant := 200; | |

Pending_Instantiations_Initial : constant := 10; -- Inline | |

Pending_Instantiations_Increment : constant := 100; | |

Rep_Table_Initial : constant := 1000; -- Repinfo | |

Rep_Table_Increment : constant := 200; | |

Rep_JSON_Table_Initial : constant := 10; -- Repinfo | |

Rep_JSON_Table_Increment : constant := 200; | |

Scope_Stack_Initial : constant := 10; -- Sem | |

Scope_Stack_Increment : constant := 200; | |

SFN_Table_Initial : constant := 10; -- Fname | |

SFN_Table_Increment : constant := 200; | |

Source_File_Initial : constant := 10; -- Sinput | |

Source_File_Increment : constant := 200; | |

String_Chars_Initial : constant := 2_500; -- Stringt | |

String_Chars_Increment : constant := 150; | |

Strings_Initial : constant := 5_00; -- Stringt | |

Strings_Increment : constant := 150; | |

Successors_Initial : constant := 2_00; -- Inline | |

Successors_Increment : constant := 100; | |

Udigits_Initial : constant := 10_000; -- Uintp | |

Udigits_Increment : constant := 100; | |

Uints_Initial : constant := 5_000; -- Uintp | |

Uints_Increment : constant := 100; | |

Units_Initial : constant := 30; -- Lib | |

Units_Increment : constant := 100; | |

Ureals_Initial : constant := 200; -- Urealp | |

Ureals_Increment : constant := 100; | |

Unreferenced_Entities_Initial : constant := 1_000; -- Sem_Warn | |

Unreferenced_Entities_Increment : constant := 100; | |

Warnings_Off_Pragmas_Initial : constant := 500; -- Sem_Warn | |

Warnings_Off_Pragmas_Increment : constant := 100; | |

With_List_Initial : constant := 10; -- Features | |

With_List_Increment : constant := 300; | |

Xrefs_Initial : constant := 5_000; -- Cross-refs | |

Xrefs_Increment : constant := 300; | |

Drefs_Initial : constant := 5; -- Dereferences | |

Drefs_Increment : constant := 1_000; | |

end Alloc; |