X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fsave.c;h=5059aa5508798de3428f40ac136d5b8c6595ce27;hb=683874b497a99cd2c11b6c5d9b47e2785b1ede5f;hp=2c527f8f4e32895aac9e1962042a50ac0b9bdefa;hpb=d7f6139a91d7d9b0667a597584ae306d958bb2f4;p=sbcl.git diff --git a/src/runtime/save.c b/src/runtime/save.c index 2c527f8..5059aa5 100644 --- a/src/runtime/save.c +++ b/src/runtime/save.c @@ -68,8 +68,8 @@ output_space(FILE *file, int id, lispobj *addr, lispobj *end) bytes = words * sizeof(lispobj); - printf("writing %ld(0x%lx) bytes from the %s(%d) space at 0x%08lx\n", - (long)bytes, (long)bytes, names[id], id, (unsigned long)addr); + printf("writing %d bytes from the %s space at 0x%08lx\n", + bytes, names[id], (unsigned long)addr); data = write_bytes(file, (char *)addr, bytes); @@ -82,25 +82,6 @@ boolean save(char *filename, lispobj init_function) { FILE *file; -#if defined WANT_CGC - volatile lispobj*func_ptr = &init_function; - char sbuf[128]; - strcpy(sbuf,filename); - filename=sbuf; - /* Get rid of remnant stuff. This is a MUST so that the memory - * manager can get started correctly when we restart after this - * save. Purify is going to maybe move the args so we need to - * consider them volatile, especially if the gcc optimizer is - * working!! */ - purify(NIL,NIL); - - init_function = *func_ptr; - /* Set dynamic space pointer to base value so we don't write out - * MBs of just cleared heap. */ - if(SymbolValue(X86_CGC_ACTIVE_P) != NIL) { - SetSymbolValue(ALLOCATION_POINTER, DYNAMIC_SPACE_START); - } -#endif /* Open the file: */ unlink(filename); file = fopen(filename, "w"); @@ -115,9 +96,6 @@ save(char *filename, lispobj init_function) SetSymbolValue(CURRENT_UNWIND_PROTECT_BLOCK, 0); SetSymbolValue(EVAL_STACK_TOP, 0); printf("done]\n"); -#if defined WANT_CGC && defined X86_CGC_ACTIVE_P - SetSymbolValue(X86_CGC_ACTIVE_P, T); -#endif printf("[saving current Lisp image into %s:\n", filename); putw(CORE_MAGIC, file); @@ -127,7 +105,7 @@ save(char *filename, lispobj init_function) putw(SBCL_CORE_VERSION_INTEGER, file); putw(CORE_NDIRECTORY, file); - putw((5*3)+2, file); /* 3 5-word space descriptors, plus code and count */ + putw((5*3)+2, file); output_space(file, READ_ONLY_SPACE_ID, (lispobj *)READ_ONLY_SPACE_START, (lispobj *)SymbolValue(READ_ONLY_SPACE_FREE_POINTER)); @@ -147,9 +125,6 @@ save(char *filename, lispobj init_function) (lispobj *)SymbolValue(ALLOCATION_POINTER)); #endif - FSHOW((stderr, "/writing init_function=0x%lx\n", (long)init_function)); - FSHOW((stderr, "/(SymbolValue(ALLOCATION_POINTER)=0x%lx\n", - (long)SymbolValue(ALLOCATION_POINTER))); putw(CORE_INITIAL_FUNCTION, file); putw(3, file); putw(init_function, file);