X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fcore.h;h=3f05cd5bc2c64f7cea94638982a1b8c753064371;hb=dd54f9e004a0a83d1328e94648f48dcc27e0be5b;hp=385d8a61401423b34d8c49de277bfda443979779;hpb=503a50f07740b52908f630b0492cf56556f1a792;p=sbcl.git diff --git a/src/runtime/core.h b/src/runtime/core.h index 385d8a6..3f05cd5 100644 --- a/src/runtime/core.h +++ b/src/runtime/core.h @@ -12,10 +12,11 @@ #ifndef _CORE_H_ #define _CORE_H_ +#include "sbcl.h" #include "runtime.h" struct ndir_entry { -#ifndef alpha +#ifndef LISP_FEATURE_ALPHA long identifier; long nwords; long data_page; @@ -30,6 +31,24 @@ struct ndir_entry { #endif }; -extern lispobj load_core_file(char *file); +/* Tri-state flag to determine whether we attempt to mark pages + * as targets for virtual memory deduplication (ala MADV_MERGEABLE + * on Linux). + * + * 1: Yes + * 0: No + * -1: default, yes for compressed cores, no otherwise. + */ +extern int merge_core_pages; + +extern lispobj load_core_file(char *file, os_vm_offset_t offset); +extern os_vm_offset_t search_for_embedded_core(char *file); + +/* arbitrary string identifying this build, embedded in .core files to + * prevent people mismatching a runtime built e.g. with :SB-SHOW + * against a .core built without :SB-SHOW (or against various grosser + * mismatches, e.g. a .core built with an old version of the code + * against a runtime with patches which add new C code) */ +extern unsigned char build_id[]; #endif