From 9823a3a516cd41b266c1fd3291787b3fc0d243a8 Mon Sep 17 00:00:00 2001 From: hboehm Date: Sat, 8 Nov 2008 00:29:55 +0000 Subject: 2008-11-07 Hans Boehm (Really Ivan Maidansky) (Mostly improves LLP64 support.) * backgraph.c, checksums.c, dbg_mlc.c, finalize.c, mark.c, misc.c, reclaim.c: Changed some int and long type to word or size_t (and vice versa where appropriate) * gcj_mlc.c, include/private/dbg_mlc.h, include/private/gcconfig.h, include/private/thread_local_alloc.h, mark.c, misc.c, thread_local_alloc.c, win32_threads.c: Added intermediate casts to word type when casting from int to pointer (or pointer to int, or data pointer to code pointer) - just to remove the corresponding compiler warning. * ptr_chck.c (GC_is_visible): cast int const to word type to prevent left shift overflow. * os_dep.c: change the type of GC_mem_top_down global var (containing a flag) to DWORD. * include/gc_config_macros.h: define GC_SOLARIS_THREADS if GC_THREADS is defined on SunOS x86_64. * misc.c (GC_init_size_map): Ifdef out GC_ASSERT as a workaround for VC++ 2008 amd64 (v15.00.21022.08 for x64) compiler bug (the compiler gets hung if invoked with -Ox -D ALL_INTERIOR_POINTERS -D GC_ASSERTIONS) * backgraph.c: cast GC_gc_no value to unsigned short when assigned/compared to height_gc_no field of back_edges. * os_dep.c (GC_remove_protection): Add ARGSUSED. * win32_threads.c (GC_thread_exit_proc): Remove unused local var. * mark.c (GC_check_dirty): Move declaration out of func body. --- checksums.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'checksums.c') diff --git a/checksums.c b/checksums.c index 419a89ac..91f3b282 100644 --- a/checksums.c +++ b/checksums.c @@ -52,7 +52,7 @@ STATIC word GC_checksum(struct hblk *h) STATIC GC_bool GC_on_free_list(struct hblk *h) { hdr * hhdr = HDR(h); - int sz = BYTES_TO_WORDS(hhdr -> hb_sz); + size_t sz = BYTES_TO_WORDS(hhdr -> hb_sz); ptr_t p; if (sz > MAXOBJWORDS) return(FALSE); @@ -113,7 +113,7 @@ STATIC void GC_update_check_page(struct hblk *h, int index) pe -> block = h + OFFSET; } -unsigned long GC_bytes_in_used_blocks; +word GC_bytes_in_used_blocks; /*ARGSUSED*/ STATIC void GC_add_block(struct hblk *h, word dummy) @@ -128,12 +128,13 @@ STATIC void GC_add_block(struct hblk *h, word dummy) STATIC void GC_check_blocks(void) { - unsigned long bytes_in_free_blocks = GC_large_free_bytes; + word bytes_in_free_blocks = GC_large_free_bytes; GC_bytes_in_used_blocks = 0; GC_apply_to_all_blocks(GC_add_block, (word)0); GC_printf("GC_bytes_in_used_blocks = %lu, bytes_in_free_blocks = %lu ", - GC_bytes_in_used_blocks, bytes_in_free_blocks); + (unsigned long)GC_bytes_in_used_blocks, + (unsigned long)bytes_in_free_blocks); GC_printf("GC_heapsize = %lu\n", (unsigned long)GC_heapsize); if (GC_bytes_in_used_blocks + bytes_in_free_blocks != GC_heapsize) { GC_printf("LOST SOME BLOCKS!!\n"); -- cgit v1.2.1