1 /* Static heap allocation for GNU Emacs. 2 3 Copyright 2016-2023 Free Software Foundation, Inc. 4 5 This file is part of GNU Emacs. 6 7 GNU Emacs is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 GNU Emacs is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ 19 20 #include <stddef.h> 21 #include "lisp.h" 22 23 /* Size of the static heap. Guess a value that is probably too large, 24 by up to a factor of four or so. Typically the unused part is not 25 paged in and so does not cost much. */ 26 enum { STATIC_HEAP_SIZE = sizeof (Lisp_Object) << 24 }; 27 28 extern char bss_sbrk_buffer[STATIC_HEAP_SIZE]; 29 extern char *max_bss_sbrk_ptr; 30 extern void *bss_sbrk (ptrdiff_t);