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/c60c50da55aa3ec4d88b31…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/c60c50da55aa3ec4d88b31…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch issue-89-remove-scavenging-of-read-only at cmucl / cmucl
Commits:
22b54c71 by Raymond Toy at 2021-01-03T09:12:36-08:00
Build using the cross-compiled binary
Fix another typo for darwin. We want to build lisp using the
just-build cross-compiled binary instead of the snapshot. Duh!
- - - - -
1 changed file:
- .gitlab-ci.yml
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -112,7 +112,7 @@ osx:build:
- 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 snapshot/bin/lisp
+ - bin/build.sh $bootstrap -R -C "" -o xtarget/lisp/lisp
- bin/make-dist.sh -I dist darwin-4
osx:test:
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/22b54c71cc7ee438e2ce013…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/22b54c71cc7ee438e2ce013…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
51f730c2 by Raymond Toy at 2021-01-02T14:11:17-08:00
Remove PAGE_WRITE_PROTECT_CLEARED and MASK.
This macro and mask is only used once to set the bit (near line 498).
It's not read anywhere, so remove it.
Addresses #89.
- - - - -
c60c50da by Raymond Toy at 2021-01-02T22:35:29+00:00
Merge branch 'issue-89-remove-page-write-protect-cleared' into 'master'
Remove PAGE_WRITE_PROTECT_CLEARED and MASK.
See merge request cmucl/cmucl!57
- - - - -
2 changed files:
- src/lisp/gencgc.c
- src/lisp/gencgc.h
Changes:
=====================================
src/lisp/gencgc.c
=====================================
@@ -495,7 +495,6 @@ gc_write_barrier(void *addr)
/* Un-protect the page */
os_protect((os_vm_address_t) page_address(page_index), GC_PAGE_SIZE, OS_VM_PROT_ALL);
page_table[page_index].flags &= ~PAGE_WRITE_PROTECTED_MASK;
- page_table[page_index].flags |= PAGE_WRITE_PROTECT_CLEARED_MASK;
return 1;
}
=====================================
src/lisp/gencgc.h
=====================================
@@ -45,16 +45,6 @@ int gc_write_barrier(void *);
#define PAGE_WRITE_PROTECTED(page) \
(page_table[page].flags & PAGE_WRITE_PROTECTED_MASK)
-/*
- * This flag is set when the above write protect flag is clear by the
- * sigbus handler. This is useful for re-scavenging pages that are
- * written during a GC.
- */
-
-#define PAGE_WRITE_PROTECT_CLEARED_MASK 0x00000020
-#define PAGE_WRITE_PROTECT_CLEARED(page) \
- (page_table[page].flags & PAGE_WRITE_PROTECT_CLEARED_MASK)
-
/*
* Page allocated flag: 0 for a free page; 1 when allocated. If
* the page is free then the following slots are invalid - well
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/d1b59ff32243a8243c55f1…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/d1b59ff32243a8243c55f1…
You're receiving this email because of your account on gitlab.common-lisp.net.