[Git][cmucl/cmucl][rtoy-mmap-anon-control-and-binding-stacks] 3 commits: Remove #if 0 code.
Raymond Toy
rtoy at common-lisp.net
Wed May 11 04:34:23 UTC 2016
Raymond Toy pushed to branch rtoy-mmap-anon-control-and-binding-stacks at cmucl / cmucl
Commits:
a6339d00 by Raymond Toy at 2016-05-10T21:33:43-07:00
Remove #if 0 code.
- - - - -
67f59a2d by Raymond Toy at 2016-05-10T21:33:57-07:00
Add some comments.
- - - - -
38fdea64 by Raymond Toy at 2016-05-10T21:34:14-07:00
Fix indentation, add some comments.
- - - - -
3 changed files:
- src/lisp/save.c
- src/lisp/solaris-os.c
- src/lisp/validate.c
Changes:
=====================================
src/lisp/save.c
=====================================
--- a/src/lisp/save.c
+++ b/src/lisp/save.c
@@ -136,11 +136,9 @@ save(char *filename, lispobj init_function, int sse2_mode)
}
printf("[Undoing binding stack... ");
fflush(stdout);
-#if 0
- unbind_to_here((lispobj *) BINDING_STACK_START);
-#else
+
unbind_to_here((lispobj *) binding_stack);
-#endif
+
SetSymbolValue(CURRENT_CATCH_BLOCK, 0);
SetSymbolValue(CURRENT_UNWIND_PROTECT_BLOCK, 0);
SetSymbolValue(EVAL_STACK_TOP, 0);
@@ -282,11 +280,9 @@ save_executable(char *filename, lispobj init_function)
printf("[Undoing binding stack... ");
fflush(stdout);
-#if 0
- unbind_to_here((lispobj *)BINDING_STACK_START);
-#else
+
unbind_to_here((lispobj *)binding_stack);
-#endif
+
SetSymbolValue(CURRENT_CATCH_BLOCK, 0);
SetSymbolValue(CURRENT_UNWIND_PROTECT_BLOCK, 0);
SetSymbolValue(EVAL_STACK_TOP, 0);
=====================================
src/lisp/solaris-os.c
=====================================
--- a/src/lisp/solaris-os.c
+++ b/src/lisp/solaris-os.c
@@ -409,7 +409,9 @@ os_vm_address_t round_up_sparse_size(os_vm_address_t addr)
/*
* An array of the start of the spaces which should have holes placed
* after them. Must not include the dynamic spaces because the size
- * of the dynamic space can be controlled from the command line.
+ * of the dynamic space can be controlled from the command line. Also
+ * must not include the binding and control stacks. They're handled
+ * below.
*/
static os_vm_address_t spaces[] = {
READ_ONLY_SPACE_START, STATIC_SPACE_START
=====================================
src/lisp/validate.c
=====================================
--- a/src/lisp/validate.c
+++ b/src/lisp/validate.c
@@ -124,7 +124,7 @@ validate_stacks()
ensure_space(control_stack, control_stack_size);
#else
/* Map the conrol stack wherever we have space */
- control_stack = (lispobj*) os_validate(NULL, control_stack_size);
+ control_stack = (lispobj*) os_validate(NULL, control_stack_size);
#if (defined(i386) || defined(__x86_64))
control_stack_end = (void*)control_stack + control_stack_size;
@@ -136,6 +136,7 @@ validate_stacks()
binding_stack = (lispobj *) BINDING_STACK_START;
ensure_space(binding_stack, binding_stack_size);
#else
+ /* Map the binding stack wherever we have space */
binding_stack = (lispobj*) os_validate(NULL, binding_stack_size);
#endif
#ifdef sparc
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/75d4ea457191cd39b6da88becc5560039fc009ca...38fdea64c854d5f0e13f1b16ea94fa974caeb340
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20160511/e176b54d/attachment-0001.html>
More information about the cmucl-cvs
mailing list