Skip to content

Commit c345e73

Browse files
committed
Fix jl_page_size being uninitialized in jl_prefetch_system_image
1 parent e2fbc73 commit c345e73

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/staticdata.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3647,8 +3647,9 @@ typedef void jl_image_unpack_func_t(void *handle, jl_image_buf_t *image);
36473647

36483648
static void jl_prefetch_system_image(const char *data, size_t size)
36493649
{
3650-
void *start = (void *)((uintptr_t)data & ~(jl_page_size - 1));
3651-
size_t size_aligned = LLT_ALIGN(size, jl_page_size);
3650+
size_t page_size = jl_getpagesize(); /* jl_page_size is not set yet when loading sysimg */
3651+
void *start = (void *)((uintptr_t)data & ~(page_size - 1));
3652+
size_t size_aligned = LLT_ALIGN(size, page_size);
36523653
#ifdef _OS_WINDOWS_
36533654
WIN32_MEMORY_RANGE_ENTRY entry = {start, size_aligned};
36543655
PrefetchVirtualMemory(GetCurrentProcess(), 1, &entry, 0);

0 commit comments

Comments
 (0)