Raymond Toy pushed to branch master at cmucl / cmucl
Commits: 6af2ad8b by Raymond Toy at 2021-01-03T17:55:43+00:00 Remove scavenging of read-only space.
`*SCAVENGE-READ-ONLY-SPACE*` is always set to `NIL`, and it's highly unlikely any one ever sets it. I (rtoy) haven't done that in decades at least.
So, remove this static symbol, and remove the C code that tests for this to determine if the read-only space should be scavenged.
This requires a very simple cross-compile to remove the symbol. See boot-2020-04-1.lisp for very simple instructions. We currently on do this for x86 since we can't test on sparc right now.
Update CI to do a cross-compile.
Addresses #89
- - - - - b334db9f by Raymond Toy at 2021-01-03T17:55:43+00:00 Merge branch 'issue-89-remove-scavenging-of-read-only' into 'master'
Remove scavenging of read-only space.
See merge request cmucl/cmucl!58 - - - - -
4 changed files:
- .gitlab-ci.yml - src/compiler/sparc/parms.lisp - src/compiler/x86/parms.lisp - src/lisp/gencgc.c
Changes:
===================================== .gitlab-ci.yml ===================================== @@ -36,7 +36,12 @@ linux:build: - job: linux:install artifacts: true script: - - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp + # Do cross compile first + - bin/create-target.sh xtarget x86_linux_clang + - bin/create-target.sh xcross x86_linux_clang + - bin/cross-build-world.sh -crl -B boot-2020-04-1 xtarget xcross src/tools/cross-scripts/cross-x86-x86.lisp snapshot/bin/lisp + # Regular build using the cross-compiled result + - bin/build.sh $bootstrap -R -C "" -o xtarget/lisp/lisp - bin/make-dist.sh -I dist linux-4
linux:test: @@ -102,7 +107,12 @@ osx:build: - job: osx:install artifacts: true script: - - bin/build.sh $bootstrap -R -C "" -o snapshot/bin/lisp + # Do cross compile first + - bin/create-target.sh xtarget x86_darwin + - bin/create-target.sh xcross x86_darwin + - bin/cross-build-world.sh -crl -B boot-2020-04-1 xtarget xcross src/tools/cross-scripts/cross-x86-x86.lisp snapshot/bin/lisp + # Regular build using the cross-compiled result + - bin/build.sh $bootstrap -R -C "" -o xtarget/lisp/lisp - bin/make-dist.sh -I dist darwin-4
osx:test:
===================================== src/compiler/sparc/parms.lisp ===================================== @@ -341,6 +341,9 @@ ;; address. #+gencgc *current-region-end-addr* + + ;; TODO(issue #89). This needs to be removed. It's harmless to + ;; have this, but it should be removed. #+gencgc *scavenge-read-only-space*
===================================== src/compiler/x86/parms.lisp ===================================== @@ -363,9 +363,6 @@ *fp-constant-lg2* *fp-constant-ln2*
- ;; Used by gencgc. - *scavenge-read-only-space* - ;; Multi-process support. *control-stacks*
===================================== src/lisp/gencgc.c ===================================== @@ -7865,6 +7865,7 @@ garbage_collect_generation(int generation, int raise) printf("Done scavenging the scavenger hooks.\n"); #endif
+#if 0 if (SymbolValue(SCAVENGE_READ_ONLY_SPACE) != NIL) { read_only_space_size = (lispobj *) SymbolValue(READ_ONLY_SPACE_FREE_POINTER) - @@ -7873,6 +7874,7 @@ garbage_collect_generation(int generation, int raise) read_only_space_size * sizeof(lispobj)); scavenge(read_only_space, read_only_space_size); } +#endif
static_space_size = (lispobj *) SymbolValue(STATIC_SPACE_FREE_POINTER) - static_space;
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/c60c50da55aa3ec4d88b31b...