Raymond Toy pushed to branch master at cmucl / cmucl
Commits: 84ec62e3 by Raymond Toy at 2023-05-16T23:47:44+00:00 Address #195: Use relocatable stacks by default
- - - - - 78acc885 by Raymond Toy at 2023-05-16T23:47:53+00:00 Merge branch 'issue-195-relocatable-stacks-by-default' into 'master'
Address #195: Use relocatable stacks by default
See merge request cmucl/cmucl!146 - - - - -
7 changed files:
- .gitlab-ci.yml - src/code/sparc-svr4-vm.lisp - src/code/x86-vm.lisp - src/lisp/solaris-os.c - src/lisp/sparc-validate.h - src/lisp/x86-validate-darwin.h - src/lisp/x86-validate-linux.h
Changes:
===================================== .gitlab-ci.yml ===================================== @@ -1,7 +1,7 @@ variables: - download_url: "https://common-lisp.net/project/cmucl/downloads/snapshots/2023/04" - version: "2023-04-x86" - bootstrap: "-B boot-21e" + download_url: "https://common-lisp.net/project/cmucl/downloads/release/21e" + version: "21e-x86" + bootstrap: ""
stages: - install
===================================== src/code/sparc-svr4-vm.lisp ===================================== @@ -26,9 +26,6 @@ #+complex-fp-vops (sys:register-lisp-feature :complex-fp-vops)
-#+(and sparc solaris) -(sys:register-lisp-runtime-feature :relocatable-stacks) - ;;;; The sigcontext structure.
===================================== src/code/x86-vm.lisp ===================================== @@ -42,9 +42,6 @@ (setf *features* (delete :x87 *features*)) (sys:register-lisp-feature :sse2))
-#+(or darwin linux) -(sys:register-lisp-runtime-feature :relocatable-stacks) - ;;;; The sigcontext structure.
===================================== src/lisp/solaris-os.c ===================================== @@ -415,10 +415,6 @@ os_vm_address_t round_up_sparse_size(os_vm_address_t addr) */ static os_vm_address_t spaces[] = { READ_ONLY_SPACE_START, STATIC_SPACE_START, -#ifndef FEATURE_RELOCATABLE_STACKS - BINDING_STACK_START, - CONTROL_STACK_START -#endif };
/* @@ -505,10 +501,8 @@ make_holes(void) void make_stack_holes(void) { -#ifdef FEATURE_RELOCATABLE_STACKS make_hole((os_vm_address_t)control_stack, control_stack_size); make_hole((os_vm_address_t)binding_stack, binding_stack_size); -#endif }
void *
===================================== src/lisp/sparc-validate.h ===================================== @@ -92,22 +92,12 @@ #define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly) #define READ_ONLY_SPACE_SIZE ((2*MB_128) - SPARSE_BLOCK_SIZE) /* 256 MB - 32 KB, 256 MB max */
-#ifndef FEATURE_RELOCATABLE_STACKS -#define BINDING_STACK_START (0x20000000) -#endif - #define BINDING_STACK_SIZE (MB_128 - SPARSE_BLOCK_SIZE) /* 128 MB - 32 KB, 128 MB max */
#define STATIC_SPACE_START (SpaceStart_TargetStatic) #define STATIC_SPACE_SIZE ((2*MB_128) - SPARSE_BLOCK_SIZE) /* 256 MB - 32 KB, 256 MB max */
-#ifndef FEATURE_RELOCATABLE_STACKS -#define CONTROL_STACK_START (0x38000000) -#endif #define CONTROL_STACK_SIZE (MB_128 - SPARSE_BLOCK_SIZE) /* 128 MB - 32 KB, 128 MB max */ -#if 0 -#define CONTROL_STACK_END (CONTROL_STACK_START + control_stack_size) -#endif
#define SIGNAL_STACK_SIZE SIGSTKSZ
===================================== src/lisp/x86-validate-darwin.h ===================================== @@ -18,24 +18,14 @@ #define STATIC_SPACE_START (SpaceStart_TargetStatic) #define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-#ifndef FEATURE_RELOCATABLE_STACKS -#define BINDING_STACK_START (0x38000000) -#endif #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-#ifndef FEATURE_RELOCATABLE_STACKS -#define CONTROL_STACK_START (0x40000000) -#endif - /* * According to /usr/include/sys/signal.h, MINSIGSTKSZ is 32K and * SIGSTKSZ is 128K. We should account for that appropriately. */ #define CONTROL_STACK_SIZE (0x07fdf000) /* 128MB - SIGSTKSZ - 1 page */
-#ifndef FEATURE_RELOCATABLE_STACKS -#define SIGNAL_STACK_START (0x47fe0000) /* One page past the end of the control stack */ -#endif #define SIGNAL_STACK_SIZE SIGSTKSZ
#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
===================================== src/lisp/x86-validate-linux.h ===================================== @@ -63,19 +63,10 @@ #define STATIC_SPACE_START (SpaceStart_TargetStatic) #define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-#ifndef FEATURE_RELOCATABLE_STACKS -#define BINDING_STACK_START (0x20000000) -#endif #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-#ifndef FEATURE_RELOCATABLE_STACKS -#define CONTROL_STACK_START 0x38000000 -#endif #define CONTROL_STACK_SIZE (0x07fff000 - 8192)
-#ifndef FEATURE_RELOCATABLE_STACKS -#define SIGNAL_STACK_START CONTROL_STACK_END -#endif #define SIGNAL_STACK_SIZE SIGSTKSZ
#define DYNAMIC_0_SPACE_START (SpaceStart_TargetDynamic)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/e82bebb7be1f2a642286246...