fix bug in SYMBOL-VALUE CAS expansion for constant arguments
[sbcl.git] / src / runtime / core.h
1 /*
2  * This software is part of the SBCL system. See the README file for
3  * more information.
4  *
5  * This software is derived from the CMU CL system, which was
6  * written at Carnegie Mellon University and released into the
7  * public domain. The software is in the public domain and is
8  * provided with absolutely no warranty. See the COPYING and CREDITS
9  * files for more information.
10  */
11
12 #ifndef _CORE_H_
13 #define _CORE_H_
14
15 #include "sbcl.h"
16 #include "runtime.h"
17
18 struct ndir_entry {
19 #ifndef LISP_FEATURE_ALPHA
20     long identifier;
21     long nwords;
22     long data_page;
23     long address;
24     long page_count;
25 #else
26     u32 identifier;
27     u32 nwords;
28     u32 data_page;
29     u32 address;
30     u32 page_count;
31 #endif
32 };
33
34 /* Tri-state flag to determine whether we attempt to mark pages
35  * as targets for virtual memory deduplication (ala MADV_MERGEABLE
36  * on Linux).
37  *
38  * 1: Yes
39  * 0: No
40  * -1: default, yes for compressed cores, no otherwise.
41  */
42 extern int merge_core_pages;
43
44 extern lispobj load_core_file(char *file, os_vm_offset_t offset);
45 extern os_vm_offset_t search_for_embedded_core(char *file);
46
47 /* arbitrary string identifying this build, embedded in .core files to
48  * prevent people mismatching a runtime built e.g. with :SB-SHOW
49  * against a .core built without :SB-SHOW (or against various grosser
50  * mismatches, e.g. a .core built with an old version of the code
51  * against a runtime with patches which add new C code) */
52 extern unsigned char build_id[];
53
54 #endif