static void mmu_flush_write_unprotect_ranges(MMU *mmu) { #ifdef USE_BLOCK_CACHE block_cache_flush_protect_ranges(mmu->block_cache, MMU_WRITABLE); #elif !( defined(_WIN32) || defined(OSKIT) ) page_range_flush(mmu->page_range, MMU_WRITABLE); #endif }
static void page_range_add(Page_Range *pr, void *_start, unsigned long len, int writeable) { GC_MP_CNT_INC(mp_pr_add_cnt); if (!page_range_add_worker(pr, _start, len)) { GC_MP_CNT_INC(mp_pr_ff_cnt); page_range_flush(pr, writeable); page_range_add_worker(pr, _start, len); } }