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.