From: hboehm Date: Fri, 29 Jun 2007 19:39:27 +0000 (+0000) Subject: 2007-06-29 Hans Boehm X-Git-Tag: gc7_0~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=88c7642c0af1b91a516e9de45040f3050a797228;p=gc 2007-06-29 Hans Boehm * finalize.c (GC_finalize): Change dl_size and fo_size to size_t. * os_dep.c (GC_win32_get_mem): Add GC_mem_top_down option. --- diff --git a/ChangeLog b/ChangeLog index 83555665..a18cdee6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-06-29 Hans Boehm + + * finalize.c (GC_finalize): Change dl_size and fo_size to size_t. + * os_dep.c (GC_win32_get_mem): Add GC_mem_top_down option. + 2007-06-28 Hans Boehm * doc/README.win32, doc/README, README.QUICK: Fix some of the worst diff --git a/finalize.c b/finalize.c index 85f21a13..6ae36c2d 100644 --- a/finalize.c +++ b/finalize.c @@ -494,8 +494,8 @@ void GC_finalize(void) struct finalizable_object * curr_fo, * prev_fo, * next_fo; ptr_t real_ptr, real_link; size_t i; - int dl_size = (log_dl_table_size == -1 ) ? 0 : (1 << log_dl_table_size); - int fo_size = (log_fo_table_size == -1 ) ? 0 : (1 << log_fo_table_size); + size_t dl_size = (log_dl_table_size == -1 ) ? 0 : (1 << log_dl_table_size); + size_t fo_size = (log_fo_table_size == -1 ) ? 0 : (1 << log_fo_table_size); /* Make disappearing links disappear */ for (i = 0; i < dl_size; i++) { diff --git a/os_dep.c b/os_dep.c index 9ddba06c..bb8fa08f 100644 --- a/os_dep.c +++ b/os_dep.c @@ -1910,6 +1910,10 @@ SYSTEM_INFO GC_sysinfo; word GC_n_heap_bases = 0; +word GC_mem_top_down = 0; /* Change to MEM_TOP_DOWN for better 64-bit */ + /* testing. Otherwise all addresses tend to */ + /* end up in first 4GB, hiding bugs. */ + ptr_t GC_win32_get_mem(word bytes) { ptr_t result; @@ -1938,7 +1942,8 @@ ptr_t GC_win32_get_mem(word bytes) # ifdef GWW_VDB GetWriteWatch_alloc_flag | # endif - MEM_COMMIT | MEM_RESERVE, + MEM_COMMIT | MEM_RESERVE + | GC_mem_top_down, PAGE_EXECUTE_READWRITE); } if (HBLKDISPL(result) != 0) ABORT("Bad VirtualAlloc result");