* 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-29 Hans Boehm <Hans.Boehm@hp.com>
+
+ * 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 <Hans.Boehm@hp.com>
* doc/README.win32, doc/README, README.QUICK: Fix some of the worst
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++) {
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;
# 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");