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/d1b59ff32243a8243c55f12...