Index: package-data-list.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/package-data-list.lisp-expr,v retrieving revision 1.346 diff -u -u -r1.346 package-data-list.lisp-expr --- package-data-list.lisp-expr 16 Jan 2006 15:39:57 -0000 1.346 +++ package-data-list.lisp-expr 17 Feb 2006 12:54:18 -0000 @@ -2280,7 +2280,7 @@ "*BINDING-STACK-START*" "*CONTROL-STACK-START*" "*CONTROL-STACK-END*" "CONTROL-STACK-POINTER-VALID-P" - "DYNAMIC-SPACE-START" "DYNAMIC-SPACE-END" + "DEFAULT-DYNAMIC-SPACE-START" "DEFAULT-DYNAMIC-SPACE-END" #!+c-stack-is-control-stack "ALTERNATE-SIGNAL-STACK-START" #!-gencgc "DYNAMIC-0-SPACE-START" #!-gencgc "DYNAMIC-0-SPACE-END" Index: src/code/gc.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/gc.lisp,v retrieving revision 1.67 diff -u -u -r1.67 gc.lisp --- src/code/gc.lisp 18 Nov 2005 12:28:40 -0000 1.67 +++ src/code/gc.lisp 17 Feb 2006 12:54:19 -0000 @@ -24,7 +24,7 @@ #!-sb-fluid (declaim (inline current-dynamic-space-start)) #!+gencgc -(defun current-dynamic-space-start () sb!vm:dynamic-space-start) +(def-c-var-fun current-dynamic-space-start "dynamic_space_start") #!-gencgc (def-c-var-fun current-dynamic-space-start "current_dynamic_space") Index: src/code/room.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/room.lisp,v retrieving revision 1.37 diff -u -u -r1.37 room.lisp --- src/code/room.lisp 7 Jan 2006 18:22:58 -0000 1.37 +++ src/code/room.lisp 17 Feb 2006 12:54:19 -0000 @@ -218,8 +218,8 @@ (define-alien-routine "find_page_index" long (index long)) (define-alien-variable "page_table" (array (struct page) - #.(truncate (- dynamic-space-end - dynamic-space-start) + #.(truncate (- default-dynamic-space-end + default-dynamic-space-start) sb!vm:gencgc-page-size)))) ;;; Iterate over all the objects allocated in SPACE, calling FUN with Index: src/compiler/generic/genesis.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/genesis.lisp,v retrieving revision 1.116 diff -u -u -r1.116 genesis.lisp --- src/compiler/generic/genesis.lisp 3 Jan 2006 09:52:38 -0000 1.116 +++ src/compiler/generic/genesis.lisp 17 Feb 2006 12:54:22 -0000 @@ -3143,7 +3143,7 @@ sb!vm:static-space-start)) (*dynamic* (make-gspace :dynamic dynamic-core-space-id - #!+gencgc sb!vm:dynamic-space-start + #!+gencgc sb!vm:default-dynamic-space-start #!-gencgc sb!vm:dynamic-0-space-start)) (*nil-descriptor* (make-nil-descriptor)) (*current-reversed-cold-toplevels* *nil-descriptor*) Index: src/compiler/x86/parms.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/x86/parms.lisp,v retrieving revision 1.55 diff -u -u -r1.55 parms.lisp --- src/compiler/x86/parms.lisp 6 Jan 2006 01:11:10 -0000 1.55 +++ src/compiler/x86/parms.lisp 17 Feb 2006 12:54:22 -0000 @@ -160,8 +160,8 @@ (def!constant static-space-start #x05000000) (def!constant static-space-end #x07fff000) - (def!constant dynamic-space-start #x09000000) - (def!constant dynamic-space-end #x29000000)) + (def!constant default-dynamic-space-start #x09000000) + (def!constant default-dynamic-space-end #x29000000)) #!+linux (progn @@ -171,8 +171,8 @@ (def!constant static-space-start #x05000000) (def!constant static-space-end #x07fff000) - (def!constant dynamic-space-start #x09000000) - (def!constant dynamic-space-end #x29000000) + (def!constant default-dynamic-space-start #x09000000) + (def!constant default-dynamic-space-end #x29000000) (def!constant linkage-table-space-start #x70000000) (def!constant linkage-table-space-end #x7ffff000)) @@ -185,8 +185,8 @@ (def!constant static-space-start #x40000000) (def!constant static-space-end #x42fff000) - (def!constant dynamic-space-start #x48000000) - (def!constant dynamic-space-end #xA0000000) + (def!constant default-dynamic-space-start #x48000000) + (def!constant default-dynamic-space-end #xA0000000) (def!constant linkage-table-space-start #xA2000000) (def!constant linkage-table-space-end #xA3000000)) @@ -199,8 +199,8 @@ (def!constant static-space-start #x30000000) (def!constant static-space-end #x37fff000) - (def!constant dynamic-space-start #x48000000) - (def!constant dynamic-space-end #x88000000) + (def!constant default-dynamic-space-start #x48000000) + (def!constant default-dynamic-space-end #x88000000) ;; In CMUCL: 0xB0000000->0xB1000000 (def!constant linkage-table-space-start #x90000000) @@ -214,8 +214,8 @@ (def!constant static-space-start #x50000000) (def!constant static-space-end #x5ffff000) - (def!constant dynamic-space-start #x80000000) - (def!constant dynamic-space-end #xA0000000) + (def!constant default-dynamic-space-start #x80000000) + (def!constant default-dynamic-space-end #xA0000000) ;; In CMUCL: 0xB0000000->0xB1000000 (def!constant linkage-table-space-start #xA0000000) @@ -229,8 +229,8 @@ (def!constant static-space-start #x30000000) (def!constant static-space-end #x37fff000) - (def!constant dynamic-space-start #x60000000) - (def!constant dynamic-space-end #x98000000) + (def!constant default-dynamic-space-start #x60000000) + (def!constant default-dynamic-space-end #x98000000) ;; In CMUCL: 0xB0000000->0xB1000000 (def!constant linkage-table-space-start #xA0000000) Index: src/compiler/x86-64/parms.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/x86-64/parms.lisp,v retrieving revision 1.17 diff -u -u -r1.17 parms.lisp --- src/compiler/x86-64/parms.lisp 6 Jan 2006 01:11:10 -0000 1.17 +++ src/compiler/x86-64/parms.lisp 17 Feb 2006 12:54:22 -0000 @@ -107,8 +107,8 @@ (def!constant static-space-start #x40000000) (def!constant static-space-end #x47fff000) -(def!constant dynamic-space-start #x1000000000) -(def!constant dynamic-space-end #x11ffff0000) +(def!constant default-dynamic-space-start #x1000000000) +(def!constant default-dynamic-space-end #x11ffff0000) (def!constant linkage-table-space-start #x60000000) (def!constant linkage-table-space-end #x63fff000) Index: src/runtime/GNUmakefile =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/GNUmakefile,v retrieving revision 1.25 diff -u -u -r1.25 GNUmakefile --- src/runtime/GNUmakefile 3 Jan 2006 09:52:38 -0000 1.25 +++ src/runtime/GNUmakefile 17 Feb 2006 12:54:22 -0000 @@ -39,7 +39,7 @@ COMMON_SRC = alloc.c backtrace.c breakpoint.c coreparse.c \ dynbind.c gc-common.c globals.c interr.c interrupt.c \ monitor.c os-common.c parse.c print.c purify.c \ - regnames.c run-program.c runtime.c save.c search.c \ + regnames.c relocate.c run-program.c runtime.c save.c search.c \ thread.c time.c util.c validate.c vars.c wrap.c C_SRC = $(COMMON_SRC) ${ARCH_SRC} ${OS_SRC} ${GC_SRC} Index: src/runtime/bsd-os.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/bsd-os.c,v retrieving revision 1.34 diff -u -u -r1.34 bsd-os.c --- src/runtime/bsd-os.c 5 Feb 2006 22:22:01 -0000 1.34 +++ src/runtime/bsd-os.c 17 Feb 2006 12:54:22 -0000 @@ -164,7 +164,7 @@ struct thread *th; if(in_range_p(addr, READ_ONLY_SPACE_START, READ_ONLY_SPACE_SIZE) || in_range_p(addr, STATIC_SPACE_START , STATIC_SPACE_SIZE) || - in_range_p(addr, DYNAMIC_SPACE_START , DYNAMIC_SPACE_SIZE)) + in_range_p(addr, dynamic_space_start , DYNAMIC_SPACE_SIZE)) return 1; for_each_thread(th) { if((th->control_stack_start <= addr) && (addr < th->control_stack_end)) Index: src/runtime/coreparse.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/coreparse.c,v retrieving revision 1.31 diff -u -u -r1.31 coreparse.c --- src/runtime/coreparse.c 5 Feb 2006 22:03:00 -0000 1.31 +++ src/runtime/coreparse.c 17 Feb 2006 12:54:22 -0000 @@ -43,6 +43,13 @@ #include "../../output/build-id.tmp" ; +void relocate(long *, long nwords, long *old_start, long displacement); +void relocation_fixup(long *fixup_ptr, + long n_fixup_words, + long *old_start, + long n_old_words, + long displacement); + int open_binary(char *filename, int mode) { @@ -104,10 +111,14 @@ return -1; } +/* kludge */ +static long old_dynamic_space_start; + static void process_directory(int fd, u32 *ptr, int count, os_vm_offset_t file_offset) { struct ndir_entry *entry; + long static_space_len; FSHOW((stderr, "/process_directory(..), count=%d\n", count)); @@ -117,9 +128,14 @@ long offset = os_vm_page_size * (1 + entry->data_page); os_vm_address_t addr = (os_vm_address_t) (os_vm_page_size * entry->address); - lispobj *free_pointer = (lispobj *) addr + entry->nwords; + lispobj *free_pointer; long len = os_vm_page_size * entry->page_count; + if (id == DYNAMIC_CORE_SPACE_ID) { + old_dynamic_space_start = addr; + addr = dynamic_space_start; + } + if (len != 0) { os_vm_address_t real_addr; FSHOW((stderr, "/mapping %ld(0x%lx) bytes at 0x%lx\n", @@ -132,6 +148,7 @@ addr); } } + free_pointer = (lispobj *) addr + entry->nwords; FSHOW((stderr, "/space id = %ld, free pointer = 0x%lx\n", id, (unsigned long)free_pointer)); @@ -139,10 +156,20 @@ switch (id) { case DYNAMIC_CORE_SPACE_ID: #ifdef LISP_FEATURE_GENCGC - if (addr != (os_vm_address_t)DYNAMIC_SPACE_START) { - fprintf(stderr, "in core: 0x%lx; in runtime: 0x%lx \n", - (long)addr, (long)DYNAMIC_SPACE_START); - lose("core/runtime address mismatch: DYNAMIC_SPACE_START\n"); + if (addr != old_dynamic_space_start) { + fprintf(stderr, "relocating core to: 0x%lx; from: 0x%lx \n", + (long)addr, (long)old_dynamic_space_start); + relocate((long *) addr, + len / N_WORD_BYTES, + (long *) old_dynamic_space_start, + (long) addr - old_dynamic_space_start); + /* kludge: we assume that static space comes before dynamic + * space, and both in one directory */ + relocation_fixup((long *) STATIC_SPACE_START, + static_space_len / N_WORD_BYTES, + (long *) old_dynamic_space_start, + len / N_WORD_BYTES, + (long) addr - old_dynamic_space_start); } #else if ((addr != (os_vm_address_t)DYNAMIC_0_SPACE_START) && @@ -171,6 +198,7 @@ (long)addr, (long)STATIC_SPACE_START); lose("core/runtime address mismatch: STATIC_SPACE_START\n"); } + static_space_len = len; break; case READ_ONLY_CORE_SPACE_ID: if (addr != (os_vm_address_t)READ_ONLY_SPACE_START) { @@ -286,7 +314,7 @@ case INITIAL_FUN_CORE_ENTRY_TYPE_CODE: SHOW("INITIAL_FUN_CORE_ENTRY_TYPE_CODE case"); - initial_function = (lispobj)*ptr; + initial_function = (lispobj)*ptr + (dynamic_space_start - old_dynamic_space_start); break; #ifdef LISP_FEATURE_GENCGC Index: src/runtime/gc-internal.h =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/gc-internal.h,v retrieving revision 1.15 diff -u -u -r1.15 gc-internal.h --- src/runtime/gc-internal.h 4 Dec 2005 22:52:40 -0000 1.15 +++ src/runtime/gc-internal.h 17 Feb 2006 12:54:23 -0000 @@ -105,6 +105,8 @@ #include "fixnump.h" +extern void *dynamic_space_start; + #ifdef LISP_FEATURE_GENCGC #include "gencgc-internal.h" #else Index: src/runtime/gencgc-internal.h =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/gencgc-internal.h,v retrieving revision 1.16 diff -u -u -r1.16 gencgc-internal.h --- src/runtime/gencgc-internal.h 7 Jan 2006 18:53:40 -0000 1.16 +++ src/runtime/gencgc-internal.h 17 Feb 2006 12:54:23 -0000 @@ -113,7 +113,7 @@ static inline boolean space_matches_p(lispobj obj, generation_index_t space) { - page_index_t page_index=(void*)obj - (void *)DYNAMIC_SPACE_START; + page_index_t page_index=(void*)obj - (void *)dynamic_space_start; return ((page_index >= 0) && ((page_index = ((unsigned long)page_index)/PAGE_BYTES) < NUM_PAGES) Index: src/runtime/gencgc.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/gencgc.c,v retrieving revision 1.95 diff -u -u -r1.95 gencgc.c --- src/runtime/gencgc.c 5 Feb 2006 22:03:00 -0000 1.95 +++ src/runtime/gencgc.c 17 Feb 2006 12:54:25 -0000 @@ -157,6 +157,7 @@ /* To map addresses to page structures the address of the first page * is needed. */ static void *heap_base = NULL; +void *dynamic_space_start = NULL; #if N_WORD_BITS == 32 #define SIMPLE_ARRAY_WORD_WIDETAG SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG @@ -4135,7 +4136,7 @@ scavtab[WEAK_POINTER_WIDETAG] = scav_weak_pointer; transother[SIMPLE_ARRAY_WIDETAG] = trans_boxed_large; - heap_base = (void*)DYNAMIC_SPACE_START; + heap_base = dynamic_space_start; /* Initialize each page structure. */ for (i = 0; i < NUM_PAGES; i++) { Index: src/runtime/globals.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/globals.c,v retrieving revision 1.18 diff -u -u -r1.18 globals.c --- src/runtime/globals.c 14 Jul 2005 15:41:11 -0000 1.18 +++ src/runtime/globals.c 17 Feb 2006 12:54:25 -0000 @@ -47,7 +47,7 @@ /* For copying GCs, this points to the start of the dynamic space * currently in use (that will become the from_space when the next GC - * is done). For the GENCGC, it always points to DYNAMIC_SPACE_START. */ + * is done). For the GENCGC, it always points to dynamic_space_start. */ lispobj *current_dynamic_space; #if defined(LISP_FEATURE_SB_THREAD) Index: src/runtime/linux-os.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/linux-os.c,v retrieving revision 1.59 diff -u -u -r1.59 linux-os.c --- src/runtime/linux-os.c 5 Feb 2006 22:03:00 -0000 1.59 +++ src/runtime/linux-os.c 17 Feb 2006 12:54:25 -0000 @@ -297,7 +297,7 @@ if ((READ_ONLY_SPACE_START <= ad && ad < READ_ONLY_SPACE_END) || (STATIC_SPACE_START <= ad && ad < STATIC_SPACE_END) #if defined LISP_FEATURE_GENCGC - || (DYNAMIC_SPACE_START <= ad && ad < DYNAMIC_SPACE_END) + || (dynamic_space_start <= ad && ad < ((size_t) dynamic_space_start + DYNAMIC_SPACE_SIZE)) #else || (DYNAMIC_0_SPACE_START <= ad && ad < DYNAMIC_0_SPACE_END) || (DYNAMIC_1_SPACE_START <= ad && ad < DYNAMIC_1_SPACE_END) Index: src/runtime/monitor.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/monitor.c,v retrieving revision 1.35 diff -u -u -r1.35 monitor.c --- src/runtime/monitor.c 3 Jan 2006 09:52:38 -0000 1.35 +++ src/runtime/monitor.c 17 Feb 2006 12:54:25 -0000 @@ -199,7 +199,7 @@ #endif #ifdef LISP_FEATURE_GENCGC - /* printf("DYNAMIC\t=\t0x%08lx\n", DYNAMIC_SPACE_START); */ + /* printf("DYNAMIC\t=\t0x%08lx\n", dynamic_space_start); */ #else printf("DYNAMIC\t=\t0x%08lx\n", (unsigned long)current_dynamic_space); #endif Index: src/runtime/parse.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/parse.c,v retrieving revision 1.19 diff -u -u -r1.19 parse.c --- src/runtime/parse.c 27 Oct 2005 21:22:42 -0000 1.19 +++ src/runtime/parse.c 17 Feb 2006 12:54:25 -0000 @@ -263,7 +263,7 @@ headerptr = (lispobj *)current_dynamic_space; count = dynamic_space_free_pointer - headerptr; #else - headerptr = (lispobj *)DYNAMIC_SPACE_START; + headerptr = (lispobj *)dynamic_space_start; count = ((lispobj *)SymbolValue(ALLOCATION_POINTER,0)) - headerptr; #endif if (search_for_symbol(name, &headerptr, &count)) { Index: src/runtime/purify.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/purify.c,v retrieving revision 1.58 diff -u -u -r1.58 purify.c --- src/runtime/purify.c 12 Jan 2006 09:31:22 -0000 1.58 +++ src/runtime/purify.c 17 Feb 2006 12:54:26 -0000 @@ -105,7 +105,7 @@ ptr < (lispobj)dynamic_space_free_pointer); #else /* Be more conservative, and remember, this is a maybe. */ - return (ptr >= (lispobj)DYNAMIC_SPACE_START + return (ptr >= (lispobj)dynamic_space_start && ptr < (lispobj)dynamic_space_free_pointer); #endif Index: src/runtime/runtime.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/runtime.c,v retrieving revision 1.56 diff -u -u -r1.56 runtime.c --- src/runtime/runtime.c 5 Feb 2006 22:03:00 -0000 1.56 +++ src/runtime/runtime.c 17 Feb 2006 12:54:26 -0000 @@ -217,6 +217,20 @@ struct lisp_exception_frame exception_frame; #endif + if (getenv("TEST_START")) { + int start = strtol(getenv("TEST_START"), 0, 16); + int end = strtol(getenv("TEST_END"), 0, 16); + printf("mapping from %lx to %lx\n", start, end); + if (mmap(start, + end - start, + OS_VM_PROT_ALL, + MAP_PRIVATE | MAP_ANONYMOUS, + -1, + 0) + == MAP_FAILED) + exit(1); + } + /* the name of the core file we're to execute. Note that this is * a malloc'ed string which should be freed eventually. */ char *core = 0; @@ -239,8 +253,8 @@ * it must follow os_init(). -- WHN 2000-01-26 */ os_init(argv, envp); arch_init(); - gc_init(); validate(); + gc_init(); /* Parse our part of the command line (aka "runtime options"), * stripping out those options that we handle. */ Index: src/runtime/save.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/save.c,v retrieving revision 1.24 diff -u -u -r1.24 save.c --- src/runtime/save.c 5 Feb 2006 22:03:00 -0000 1.24 +++ src/runtime/save.c 17 Feb 2006 12:54:26 -0000 @@ -180,7 +180,7 @@ #endif output_space(file, DYNAMIC_CORE_SPACE_ID, - (lispobj *)DYNAMIC_SPACE_START, + (lispobj *)dynamic_space_start, (lispobj *)SymbolValue(ALLOCATION_POINTER,0), core_start_pos); #endif Index: src/runtime/sunos-os.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/sunos-os.c,v retrieving revision 1.16 diff -u -u -r1.16 sunos-os.c --- src/runtime/sunos-os.c 5 Feb 2006 22:03:00 -0000 1.16 +++ src/runtime/sunos-os.c 17 Feb 2006 12:54:26 -0000 @@ -178,7 +178,7 @@ if(in_range_p(addr, READ_ONLY_SPACE_START, READ_ONLY_SPACE_SIZE) || in_range_p(addr, STATIC_SPACE_START , STATIC_SPACE_SIZE) || #ifdef LISP_FEATURE_GENCGC - in_range_p(addr, DYNAMIC_SPACE_START, DYNAMIC_SPACE_SIZE) + in_range_p(addr, dynamic_space_start, DYNAMIC_SPACE_SIZE) #else in_range_p(addr, DYNAMIC_0_SPACE_START, DYNAMIC_SPACE_SIZE) || in_range_p(addr, DYNAMIC_1_SPACE_START, DYNAMIC_SPACE_SIZE) Index: src/runtime/validate.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/validate.c,v retrieving revision 1.29 diff -u -u -r1.29 validate.c --- src/runtime/validate.c 4 Dec 2005 22:25:08 -0000 1.29 +++ src/runtime/validate.c 17 Feb 2006 12:54:26 -0000 @@ -60,17 +60,26 @@ ensure_space( (lispobj *)READ_ONLY_SPACE_START, READ_ONLY_SPACE_SIZE); ensure_space( (lispobj *)STATIC_SPACE_START , STATIC_SPACE_SIZE); + +#ifdef LISP_FEATURE_LINKAGE_TABLE + ensure_space( (lispobj *)LINKAGE_TABLE_SPACE_START, LINKAGE_TABLE_SPACE_SIZE); +#endif + #ifdef LISP_FEATURE_GENCGC - ensure_space( (lispobj *)DYNAMIC_SPACE_START , DYNAMIC_SPACE_SIZE); + dynamic_space_start + = mmap(DEFAULT_DYNAMIC_SPACE_START, + DYNAMIC_SPACE_SIZE, + OS_VM_PROT_ALL, + MAP_PRIVATE | MAP_ANON, + -1, + 0); + if (dynamic_space_start == MAP_FAILED) + lose("oops"); #else ensure_space( (lispobj *)DYNAMIC_0_SPACE_START , DYNAMIC_SPACE_SIZE); ensure_space( (lispobj *)DYNAMIC_1_SPACE_START , DYNAMIC_SPACE_SIZE); #endif -#ifdef LISP_FEATURE_LINKAGE_TABLE - ensure_space( (lispobj *)LINKAGE_TABLE_SPACE_START, LINKAGE_TABLE_SPACE_SIZE); -#endif - #ifdef LISP_FEATURE_OS_PROVIDES_DLOPEN ensure_undefined_alien(); #endif Index: src/runtime/validate.h =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/validate.h,v retrieving revision 1.19 diff -u -u -r1.19 validate.h --- src/runtime/validate.h 4 Oct 2005 17:31:27 -0000 1.19 +++ src/runtime/validate.h 17 Feb 2006 12:54:26 -0000 @@ -16,6 +16,9 @@ /* FIXME: genesis/constants.h also defines this with a constant value */ #define DYNAMIC_SPACE_START current_dynamic_space #endif +#ifndef LANGUAGE_ASSEMBLY +extern void *dynamic_space_start; +#endif #define BINDING_STACK_SIZE (1024*1024) /* chosen at random */ /* eventually choosable per-thread: */ @@ -23,7 +26,7 @@ /* constants derived from the fundamental constants in passed by GENESIS */ #ifdef LISP_FEATURE_GENCGC -#define DYNAMIC_SPACE_SIZE (DYNAMIC_SPACE_END - DYNAMIC_SPACE_START) +#define DYNAMIC_SPACE_SIZE (DEFAULT_DYNAMIC_SPACE_END - DEFAULT_DYNAMIC_SPACE_START) #else #define DYNAMIC_SPACE_SIZE (DYNAMIC_0_SPACE_END - DYNAMIC_0_SPACE_START) #endif