Skip to content

Commit

Permalink
attempt to fix win build failure
Browse files Browse the repository at this point in the history
  • Loading branch information
d-netto committed Jun 14, 2023
1 parent 3283e7f commit 2983c05
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
10 changes: 9 additions & 1 deletion src/gc-pages.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,10 @@ char *jl_gc_try_alloc_pages(void) JL_NOTSAFEPOINT
// or from the kernel if none are available
NOINLINE jl_gc_pagemeta_t *jl_gc_alloc_page(void) JL_NOTSAFEPOINT
{
int last_errno = errno;
#ifdef _OS_WINDOWS_
DWORD last_error = GetLastError();
#endif
jl_gc_pagemeta_t *meta = NULL;
jl_mutex_lock_nogc(&global_page_pool.lock);

Expand Down Expand Up @@ -91,7 +95,11 @@ NOINLINE jl_gc_pagemeta_t *jl_gc_alloc_page(void) JL_NOTSAFEPOINT
}
}
}

#ifdef _OS_WINDOWS_
VirtualAlloc(meta->data, GC_PAGE_SZ, MEM_COMMIT, PAGE_READWRITE);
SetLastError(last_error);
#endif
errno = last_errno;
return meta;
}

Expand Down
4 changes: 1 addition & 3 deletions src/gc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1450,9 +1450,7 @@ static jl_taggedvalue_t **gc_sweep_page(jl_gc_pool_t *p, jl_gc_pagemeta_t **scra
push_page_metadata_back(scratch, pg);
}
else {
#ifndef _OS_WINDOWS_
push_page_metadata_back(&global_page_pool.page_metadata_back, pg);
#endif
push_page_metadata_back(&global_page_pool.page_metadata_back, pg);
}
gc_time_count_page(freedall, pg_skpd);
gc_num.freed += (nfree - old_nfree) * osize;
Expand Down

0 comments on commit 2983c05

Please sign in to comment.