PatchSet 7512 Date: 2007/08/07 02:05:14 Author: robilad Branch: HEAD Tag: (none) Log: 2007-08-07 Dalibor Topic <[EMAIL PROTECTED]>
Removed kaffe's copy of Boehm-Weiser garbage collector. Members: ChangeLog:1.5010->1.5011 kaffe/kaffevm/boehm-gc/boehm/.cvsignore:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/AmigaOS.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/BCC_MAKEFILE:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/ChangeLog:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/EMX_MAKEFILE:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/MacOS.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/MacProjects.sit.hqx:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/Makefile.DLLs:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/Makefile.am:1.5->1.6(DEAD) kaffe/kaffevm/boehm-gc/boehm/Makefile.direct:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/Makefile.dist:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/Makefile.dj:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/Makefile.in:1.15->1.16(DEAD) kaffe/kaffevm/boehm-gc/boehm/NT_MAKEFILE:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/NT_STATIC_THREADS_MAKEFILE:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/NT_THREADS_MAKEFILE:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/OS2_MAKEFILE:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/PCR-Makefile:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/README.QUICK:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/SMakefile.amiga:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/WCC_MAKEFILE:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/acinclude.m4:1.5->1.6(DEAD) kaffe/kaffevm/boehm-gc/boehm/aclocal.m4:1.13->1.14(DEAD) kaffe/kaffevm/boehm-gc/boehm/add_gc_prefix.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/allchblk.c:1.5->1.6(DEAD) kaffe/kaffevm/boehm-gc/boehm/alloc.c:1.5->1.6(DEAD) kaffe/kaffevm/boehm-gc/boehm/alpha_mach_dep.S:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/backgraph.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/blacklst.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/callprocs:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/checksums.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/config.guess:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/config.sub:1.7->1.8(DEAD) kaffe/kaffevm/boehm-gc/boehm/configure:1.23->1.24(DEAD) kaffe/kaffevm/boehm-gc/boehm/configure.host:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/configure.in:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/darwin_stop_world.c:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/dbg_mlc.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/depcomp:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/digimars.mak:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/dyn_load.c:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/finalize.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/gc.mak:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/gc_cpp.cc:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/gc_cpp.cpp:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/gc_dlopen.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/gcc_support.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/gcj_mlc.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/gcname.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/headers.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/hpux_test_and_clear.s:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/ia64_save_regs_in_stack.s:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/if_mach.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/if_not_there.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/install-sh:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/libtool.m4:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/ltmain.sh:1.9->1.10(DEAD) kaffe/kaffevm/boehm-gc/boehm/mach_dep.c:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/malloc.c:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/mallocx.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/mark.c:1.5->1.6(DEAD) kaffe/kaffevm/boehm-gc/boehm/mark_rts.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/mips_sgi_mach_dep.s:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/mips_ultrix_mach_dep.s:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/misc.c:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/missing:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/mkinstalldirs:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/new_hblk.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/obj_map.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/os_dep.c:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/pc_excludes:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/pcr_interface.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/powerpc_darwin_mach_dep.s:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/pthread_stop_world.c:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/pthread_support.c:1.7->1.8(DEAD) kaffe/kaffevm/boehm-gc/boehm/ptr_chck.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/real_malloc.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/reclaim.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/rs6000_mach_dep.s:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/setjmp_t.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/solaris_pthreads.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/solaris_threads.c:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/sparc_mach_dep.S:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/sparc_netbsd_mach_dep.s:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/sparc_sunos4_mach_dep.s:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/specific.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/stubborn.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/threadlibs.c:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/typd_mlc.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/version.h:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/win32_threads.c:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/Mac_files/MacOS_Test_config.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/Mac_files/MacOS_config.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/Mac_files/dataend.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/Mac_files/datastart.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/cordbscs.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/cordprnt.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/cordtest.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/cordxtra.c:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/de.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/de_cmds.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/de_win.ICO:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/de_win.RC:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/de_win.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/cord/de_win.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/.cvsignore:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/Makefile.am:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/Makefile.in:1.14->1.15(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.DGUX386:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.Mac:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.MacOSX:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.OS2:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.amiga:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.arm.cross:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.autoconf:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.changes:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.contributors:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.cords:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.darwin:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.dj:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.environment:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.ews4800:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.hp:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.linux:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.macros:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.rs6000:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.sgi:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.solaris2:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.uts:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/README.win32:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/barrett_diagram:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/debugging.html:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/gc.man:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/gcdescr.html:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/gcinterface.html:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/leak.html:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/scale.html:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/simple_example.html:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/doc/tree.html:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/.cvsignore:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/Makefile.am:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/Makefile.in:1.14->1.15(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/cord.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/ec.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc.h:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_alloc.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_allocator.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_amiga_redirects.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_backptr.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_config_macros.h:1.5->1.6(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_cpp.h:1.4->1.5(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_gcj.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_inl.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_inline.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_local_alloc.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_mark.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_pthread_redirects.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/gc_typed.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/javaxfc.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/leak_detector.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/new_gc_alloc.h:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/weakpointer.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/cord_pos.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/darwin_semaphore.h:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/darwin_stop_world.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/dbg_mlc.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/gc_hdrs.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/gc_locks.h:1.5->1.6(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/gc_pmark.h:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/gc_priv.h:1.5->1.6(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/gcconfig.h:1.6->1.7(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/pthread_stop_world.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/pthread_support.h:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/solaris_threads.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/include/private/specific.h:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/tests/leak_test.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/tests/middle.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/tests/test.c:1.3->1.4(DEAD) kaffe/kaffevm/boehm-gc/boehm/tests/test_cpp.cc:1.2->1.3(DEAD) kaffe/kaffevm/boehm-gc/boehm/tests/thread_leak_test.c:1.1->1.2(DEAD) kaffe/kaffevm/boehm-gc/boehm/tests/trace_test.c:1.2->1.3(DEAD) Index: kaffe/ChangeLog diff -u kaffe/ChangeLog:1.5010 kaffe/ChangeLog:1.5011 --- kaffe/ChangeLog:1.5010 Tue Aug 7 01:44:47 2007 +++ kaffe/ChangeLog Tue Aug 7 02:05:14 2007 @@ -1,5 +1,193 @@ 2007-08-07 Dalibor Topic <[EMAIL PROTECTED]> + Removed kaffe's copy of Boehm-Weiser garbage collector. + + * kaffe/kaffevm/boehm-gc/boehm/.cvsignore, + kaffe/kaffevm/boehm-gc/boehm/AmigaOS.c, + kaffe/kaffevm/boehm-gc/boehm/BCC_MAKEFILE, + kaffe/kaffevm/boehm-gc/boehm/ChangeLog, + kaffe/kaffevm/boehm-gc/boehm/EMX_MAKEFILE, + kaffe/kaffevm/boehm-gc/boehm/MacOS.c, + kaffe/kaffevm/boehm-gc/boehm/MacProjects.sit.hqx, + kaffe/kaffevm/boehm-gc/boehm/Makefile.DLLs, + kaffe/kaffevm/boehm-gc/boehm/Makefile.am, + kaffe/kaffevm/boehm-gc/boehm/Makefile.direct, + kaffe/kaffevm/boehm-gc/boehm/Makefile.dist, + kaffe/kaffevm/boehm-gc/boehm/Makefile.dj, + kaffe/kaffevm/boehm-gc/boehm/Makefile.in, + kaffe/kaffevm/boehm-gc/boehm/NT_MAKEFILE, + kaffe/kaffevm/boehm-gc/boehm/NT_STATIC_THREADS_MAKEFILE, + kaffe/kaffevm/boehm-gc/boehm/NT_THREADS_MAKEFILE, + kaffe/kaffevm/boehm-gc/boehm/OS2_MAKEFILE, + kaffe/kaffevm/boehm-gc/boehm/PCR-Makefile, + kaffe/kaffevm/boehm-gc/boehm/README.QUICK, + kaffe/kaffevm/boehm-gc/boehm/SMakefile.amiga, + kaffe/kaffevm/boehm-gc/boehm/WCC_MAKEFILE, + kaffe/kaffevm/boehm-gc/boehm/acinclude.m4, + kaffe/kaffevm/boehm-gc/boehm/aclocal.m4, + kaffe/kaffevm/boehm-gc/boehm/add_gc_prefix.c, + kaffe/kaffevm/boehm-gc/boehm/allchblk.c, + kaffe/kaffevm/boehm-gc/boehm/alloc.c, + kaffe/kaffevm/boehm-gc/boehm/alpha_mach_dep.S, + kaffe/kaffevm/boehm-gc/boehm/backgraph.c, + kaffe/kaffevm/boehm-gc/boehm/blacklst.c, + kaffe/kaffevm/boehm-gc/boehm/callprocs, + kaffe/kaffevm/boehm-gc/boehm/checksums.c, + kaffe/kaffevm/boehm-gc/boehm/config.guess, + kaffe/kaffevm/boehm-gc/boehm/config.sub, + kaffe/kaffevm/boehm-gc/boehm/configure, + kaffe/kaffevm/boehm-gc/boehm/configure.host, + kaffe/kaffevm/boehm-gc/boehm/configure.in, + kaffe/kaffevm/boehm-gc/boehm/darwin_stop_world.c, + kaffe/kaffevm/boehm-gc/boehm/dbg_mlc.c, + kaffe/kaffevm/boehm-gc/boehm/depcomp, + kaffe/kaffevm/boehm-gc/boehm/digimars.mak, + kaffe/kaffevm/boehm-gc/boehm/dyn_load.c, + kaffe/kaffevm/boehm-gc/boehm/finalize.c, + kaffe/kaffevm/boehm-gc/boehm/gc.mak, + kaffe/kaffevm/boehm-gc/boehm/gc_cpp.cc, + kaffe/kaffevm/boehm-gc/boehm/gc_cpp.cpp, + kaffe/kaffevm/boehm-gc/boehm/gc_dlopen.c, + kaffe/kaffevm/boehm-gc/boehm/gcc_support.c, + kaffe/kaffevm/boehm-gc/boehm/gcj_mlc.c, + kaffe/kaffevm/boehm-gc/boehm/gcname.c, + kaffe/kaffevm/boehm-gc/boehm/headers.c, + kaffe/kaffevm/boehm-gc/boehm/hpux_test_and_clear.s, + kaffe/kaffevm/boehm-gc/boehm/ia64_save_regs_in_stack.s, + kaffe/kaffevm/boehm-gc/boehm/if_mach.c, + kaffe/kaffevm/boehm-gc/boehm/if_not_there.c, + kaffe/kaffevm/boehm-gc/boehm/install-sh, + kaffe/kaffevm/boehm-gc/boehm/libtool.m4, + kaffe/kaffevm/boehm-gc/boehm/ltmain.sh, + kaffe/kaffevm/boehm-gc/boehm/mach_dep.c, + kaffe/kaffevm/boehm-gc/boehm/malloc.c, + kaffe/kaffevm/boehm-gc/boehm/mallocx.c, + kaffe/kaffevm/boehm-gc/boehm/mark.c, + kaffe/kaffevm/boehm-gc/boehm/mark_rts.c, + kaffe/kaffevm/boehm-gc/boehm/mips_sgi_mach_dep.s, + kaffe/kaffevm/boehm-gc/boehm/mips_ultrix_mach_dep.s, + kaffe/kaffevm/boehm-gc/boehm/misc.c, + kaffe/kaffevm/boehm-gc/boehm/missing, + kaffe/kaffevm/boehm-gc/boehm/mkinstalldirs, + kaffe/kaffevm/boehm-gc/boehm/new_hblk.c, + kaffe/kaffevm/boehm-gc/boehm/obj_map.c, + kaffe/kaffevm/boehm-gc/boehm/os_dep.c, + kaffe/kaffevm/boehm-gc/boehm/pc_excludes, + kaffe/kaffevm/boehm-gc/boehm/pcr_interface.c, + kaffe/kaffevm/boehm-gc/boehm/powerpc_darwin_mach_dep.s, + kaffe/kaffevm/boehm-gc/boehm/pthread_stop_world.c, + kaffe/kaffevm/boehm-gc/boehm/pthread_support.c, + kaffe/kaffevm/boehm-gc/boehm/ptr_chck.c, + kaffe/kaffevm/boehm-gc/boehm/real_malloc.c, + kaffe/kaffevm/boehm-gc/boehm/reclaim.c, + kaffe/kaffevm/boehm-gc/boehm/rs6000_mach_dep.s, + kaffe/kaffevm/boehm-gc/boehm/setjmp_t.c, + kaffe/kaffevm/boehm-gc/boehm/solaris_pthreads.c, + kaffe/kaffevm/boehm-gc/boehm/solaris_threads.c, + kaffe/kaffevm/boehm-gc/boehm/sparc_mach_dep.S, + kaffe/kaffevm/boehm-gc/boehm/sparc_netbsd_mach_dep.s, + kaffe/kaffevm/boehm-gc/boehm/sparc_sunos4_mach_dep.s, + kaffe/kaffevm/boehm-gc/boehm/specific.c, + kaffe/kaffevm/boehm-gc/boehm/stubborn.c, + kaffe/kaffevm/boehm-gc/boehm/threadlibs.c, + kaffe/kaffevm/boehm-gc/boehm/typd_mlc.c, + kaffe/kaffevm/boehm-gc/boehm/version.h, + kaffe/kaffevm/boehm-gc/boehm/win32_threads.c, + kaffe/kaffevm/boehm-gc/boehm/Mac_files/MacOS_Test_config.h, + kaffe/kaffevm/boehm-gc/boehm/Mac_files/MacOS_config.h, + kaffe/kaffevm/boehm-gc/boehm/Mac_files/dataend.c, + kaffe/kaffevm/boehm-gc/boehm/Mac_files/datastart.c, + kaffe/kaffevm/boehm-gc/boehm/cord/cordbscs.c, + kaffe/kaffevm/boehm-gc/boehm/cord/cordprnt.c, + kaffe/kaffevm/boehm-gc/boehm/cord/cordtest.c, + kaffe/kaffevm/boehm-gc/boehm/cord/cordxtra.c, + kaffe/kaffevm/boehm-gc/boehm/cord/de.c, + kaffe/kaffevm/boehm-gc/boehm/cord/de_cmds.h, + kaffe/kaffevm/boehm-gc/boehm/cord/de_win.ICO, + kaffe/kaffevm/boehm-gc/boehm/cord/de_win.RC, + kaffe/kaffevm/boehm-gc/boehm/cord/de_win.c, + kaffe/kaffevm/boehm-gc/boehm/cord/de_win.h, + kaffe/kaffevm/boehm-gc/boehm/doc/.cvsignore, + kaffe/kaffevm/boehm-gc/boehm/doc/Makefile.am, + kaffe/kaffevm/boehm-gc/boehm/doc/Makefile.in, + kaffe/kaffevm/boehm-gc/boehm/doc/README, + kaffe/kaffevm/boehm-gc/boehm/doc/README.DGUX386, + kaffe/kaffevm/boehm-gc/boehm/doc/README.Mac, + kaffe/kaffevm/boehm-gc/boehm/doc/README.MacOSX, + kaffe/kaffevm/boehm-gc/boehm/doc/README.OS2, + kaffe/kaffevm/boehm-gc/boehm/doc/README.amiga, + kaffe/kaffevm/boehm-gc/boehm/doc/README.arm.cross, + kaffe/kaffevm/boehm-gc/boehm/doc/README.autoconf, + kaffe/kaffevm/boehm-gc/boehm/doc/README.changes, + kaffe/kaffevm/boehm-gc/boehm/doc/README.contributors, + kaffe/kaffevm/boehm-gc/boehm/doc/README.cords, + kaffe/kaffevm/boehm-gc/boehm/doc/README.darwin, + kaffe/kaffevm/boehm-gc/boehm/doc/README.dj, + kaffe/kaffevm/boehm-gc/boehm/doc/README.environment, + kaffe/kaffevm/boehm-gc/boehm/doc/README.ews4800, + kaffe/kaffevm/boehm-gc/boehm/doc/README.hp, + kaffe/kaffevm/boehm-gc/boehm/doc/README.linux, + kaffe/kaffevm/boehm-gc/boehm/doc/README.macros, + kaffe/kaffevm/boehm-gc/boehm/doc/README.rs6000, + kaffe/kaffevm/boehm-gc/boehm/doc/README.sgi, + kaffe/kaffevm/boehm-gc/boehm/doc/README.solaris2, + kaffe/kaffevm/boehm-gc/boehm/doc/README.uts, + kaffe/kaffevm/boehm-gc/boehm/doc/README.win32, + kaffe/kaffevm/boehm-gc/boehm/doc/barrett_diagram, + kaffe/kaffevm/boehm-gc/boehm/doc/debugging.html, + kaffe/kaffevm/boehm-gc/boehm/doc/gc.man, + kaffe/kaffevm/boehm-gc/boehm/doc/gcdescr.html, + kaffe/kaffevm/boehm-gc/boehm/doc/gcinterface.html, + kaffe/kaffevm/boehm-gc/boehm/doc/leak.html, + kaffe/kaffevm/boehm-gc/boehm/doc/scale.html, + kaffe/kaffevm/boehm-gc/boehm/doc/simple_example.html, + kaffe/kaffevm/boehm-gc/boehm/doc/tree.html, + kaffe/kaffevm/boehm-gc/boehm/include/.cvsignore, + kaffe/kaffevm/boehm-gc/boehm/include/Makefile.am, + kaffe/kaffevm/boehm-gc/boehm/include/Makefile.in, + kaffe/kaffevm/boehm-gc/boehm/include/cord.h, + kaffe/kaffevm/boehm-gc/boehm/include/ec.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_alloc.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_allocator.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_amiga_redirects.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_backptr.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_config_macros.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_cpp.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_gcj.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_inl.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_inline.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_local_alloc.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_mark.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_pthread_redirects.h, + kaffe/kaffevm/boehm-gc/boehm/include/gc_typed.h, + kaffe/kaffevm/boehm-gc/boehm/include/javaxfc.h, + kaffe/kaffevm/boehm-gc/boehm/include/leak_detector.h, + kaffe/kaffevm/boehm-gc/boehm/include/new_gc_alloc.h, + kaffe/kaffevm/boehm-gc/boehm/include/weakpointer.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/cord_pos.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/darwin_semaphore.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/darwin_stop_world.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/dbg_mlc.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/gc_hdrs.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/gc_locks.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/gc_pmark.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/gc_priv.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/gcconfig.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/pthread_stop_world.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/pthread_support.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/solaris_threads.h, + kaffe/kaffevm/boehm-gc/boehm/include/private/specific.h, + kaffe/kaffevm/boehm-gc/boehm/tests/leak_test.c, + kaffe/kaffevm/boehm-gc/boehm/tests/middle.c, + kaffe/kaffevm/boehm-gc/boehm/tests/test.c, + kaffe/kaffevm/boehm-gc/boehm/tests/test_cpp.cc, + kaffe/kaffevm/boehm-gc/boehm/tests/thread_leak_test.c, + kaffe/kaffevm/boehm-gc/boehm/tests/trace_test.c: + Removed. + +2007-08-07 Dalibor Topic <[EMAIL PROTECTED]> + Fixed boehm gc to no longer fail most tests. Adapted code to use a system wide install of the library. =================================================================== Checking out kaffe/kaffe/kaffevm/boehm-gc/boehm/.cvsignore RCS: /home/cvs/kaffe/kaffe/kaffe/kaffevm/boehm-gc/boehm/Attic/.cvsignore,v VERS: 1.3 *************** --- kaffe/kaffe/kaffevm/boehm-gc/boehm/.cvsignore Tue Aug 7 02:06:20 2007 +++ /dev/null Sun Aug 4 19:57:58 2002 @@ -1,6 +0,0 @@ -.deps -Makefile -autom4te.cache -config.log -config.status -libtool =================================================================== Checking out kaffe/kaffe/kaffevm/boehm-gc/boehm/AmigaOS.c RCS: /home/cvs/kaffe/kaffe/kaffe/kaffevm/boehm-gc/boehm/Attic/AmigaOS.c,v VERS: 1.1 *************** --- kaffe/kaffe/kaffevm/boehm-gc/boehm/AmigaOS.c Tue Aug 7 02:06:20 2007 +++ /dev/null Sun Aug 4 19:57:58 2002 @@ -1,623 +0,0 @@ - - -/****************************************************************** - - AmigaOS-spesific routines for GC. - This file is normally included from os_dep.c - -******************************************************************/ - - -#if !defined(GC_AMIGA_DEF) && !defined(GC_AMIGA_SB) && !defined(GC_AMIGA_DS) && !defined(GC_AMIGA_AM) -# include "gc_priv.h" -# include <stdio.h> -# include <signal.h> -# define GC_AMIGA_DEF -# define GC_AMIGA_SB -# define GC_AMIGA_DS -# define GC_AMIGA_AM -#endif - - -#ifdef GC_AMIGA_DEF - -# ifndef __GNUC__ -# include <exec/exec.h> -# endif -# include <proto/exec.h> -# include <proto/dos.h> -# include <dos/dosextens.h> -# include <workbench/startup.h> - -#endif - - - - -#ifdef GC_AMIGA_SB - -/****************************************************************** - Find the base of the stack. -******************************************************************/ - -ptr_t GC_get_stack_base() -{ - struct Process *proc = (struct Process*)SysBase->ThisTask; - - /* Reference: Amiga Guru Book Pages: 42,567,574 */ - if (proc->pr_Task.tc_Node.ln_Type==NT_PROCESS - && proc->pr_CLI != NULL) { - /* first ULONG is StackSize */ - /*longPtr = proc->pr_ReturnAddr; - size = longPtr[0];*/ - - return (char *)proc->pr_ReturnAddr + sizeof(ULONG); - } else { - return (char *)proc->pr_Task.tc_SPUpper; - } -} - -#if 0 /* old version */ -ptr_t GC_get_stack_base() -{ - extern struct WBStartup *_WBenchMsg; - extern long __base; - extern long __stack; - struct Task *task; - struct Process *proc; - struct CommandLineInterface *cli; - long size; - - if ((task = FindTask(0)) == 0) { - GC_err_puts("Cannot find own task structure\n"); - ABORT("task missing"); - } - proc = (struct Process *)task; - cli = BADDR(proc->pr_CLI); - - if (_WBenchMsg != 0 || cli == 0) { - size = (char *)task->tc_SPUpper - (char *)task->tc_SPLower; - } else { - size = cli->cli_DefaultStack * 4; - } - return (ptr_t)(__base + GC_max(size, __stack)); -} -#endif - - -#endif - - -#ifdef GC_AMIGA_DS -/****************************************************************** - Register data segments. -******************************************************************/ - - void GC_register_data_segments() - { - struct Process *proc; - struct CommandLineInterface *cli; - BPTR myseglist; - ULONG *data; - - int num; - - -# ifdef __GNUC__ - ULONG dataSegSize; - GC_bool found_segment = FALSE; - extern char __data_size[]; - - dataSegSize=__data_size+8; - /* Can`t find the Location of __data_size, because - it`s possible that is it, inside the segment. */ - -# endif - - proc= (struct Process*)SysBase->ThisTask; - - /* Reference: Amiga Guru Book Pages: 538ff,565,573 - and XOper.asm */ - if (proc->pr_Task.tc_Node.ln_Type==NT_PROCESS) { - if (proc->pr_CLI == NULL) { - myseglist = proc->pr_SegList; - } else { - /* ProcLoaded 'Loaded as a command: '*/ - cli = BADDR(proc->pr_CLI); - myseglist = cli->cli_Module; - } - } else { - ABORT("Not a Process."); - } - - if (myseglist == NULL) { - ABORT("Arrrgh.. can't find segments, aborting"); - } - - /* xoper hunks Shell Process */ - - num=0; - for (data = (ULONG *)BADDR(myseglist); data != NULL; - data = (ULONG *)BADDR(data[0])) { - if (((ULONG) GC_register_data_segments < (ULONG) &data[1]) || - ((ULONG) GC_register_data_segments > (ULONG) &data[1] + data[-1])) { -# ifdef __GNUC__ - if (dataSegSize == data[-1]) { - found_segment = TRUE; - } -# endif - GC_add_roots_inner((char *)&data[1], - ((char *)&data[1]) + data[-1], FALSE); - } - ++num; - } /* for */ -# ifdef __GNUC__ - if (!found_segment) { - ABORT("Can`t find correct Segments.\nSolution: Use an newer version of ixemul.library"); - } -# endif - } - -#if 0 /* old version */ - void GC_register_data_segments() - { - extern struct WBStartup *_WBenchMsg; - struct Process *proc; - struct CommandLineInterface *cli; - BPTR myseglist; - ULONG *data; - - if ( _WBenchMsg != 0 ) { - if ((myseglist = _WBenchMsg->sm_Segment) == 0) { - GC_err_puts("No seglist from workbench\n"); - return; - } - } else { - if ((proc = (struct Process *)FindTask(0)) == 0) { - GC_err_puts("Cannot find process structure\n"); - return; - } - if ((cli = BADDR(proc->pr_CLI)) == 0) { - GC_err_puts("No CLI\n"); - return; - } - if ((myseglist = cli->cli_Module) == 0) { - GC_err_puts("No seglist from CLI\n"); - return; - } - } - - for (data = (ULONG *)BADDR(myseglist); data != 0; - data = (ULONG *)BADDR(data[0])) { -# ifdef AMIGA_SKIP_SEG - if (((ULONG) GC_register_data_segments < (ULONG) &data[1]) || - ((ULONG) GC_register_data_segments > (ULONG) &data[1] + data[-1])) { -# else - { -# endif /* AMIGA_SKIP_SEG */ - GC_add_roots_inner((char *)&data[1], - ((char *)&data[1]) + data[-1], FALSE); - } - } - } -#endif /* old version */ - - -#endif - - - -#ifdef GC_AMIGA_AM - -#ifndef GC_AMIGA_FASTALLOC - -void *GC_amiga_allocwrapper(size_t size,void *(*AllocFunction)(size_t size2)){ - return (*AllocFunction)(size); -} - -void *(*GC_amiga_allocwrapper_do)(size_t size,void *(*AllocFunction)(size_t size2)) - =GC_amiga_allocwrapper; - -#else - - - - -void *GC_amiga_allocwrapper_firsttime(size_t size,void *(*AllocFunction)(size_t size2)); - -void *(*GC_amiga_allocwrapper_do)(size_t size,void *(*AllocFunction)(size_t size2)) - =GC_amiga_allocwrapper_firsttime; - - -/****************************************************************** - Amiga-spesific routines to obtain memory, and force GC to give - back fast-mem whenever possible. - These hacks makes gc-programs go many times faster when - the amiga is low on memory, and are therefore strictly necesarry. - - -Kjetil S. Matheussen, 2000. -******************************************************************/ - - - -/* List-header for all allocated memory. */ - -struct GC_Amiga_AllocedMemoryHeader{ - ULONG size; - struct GC_Amiga_AllocedMemoryHeader *next; -}; -struct GC_Amiga_AllocedMemoryHeader *GC_AMIGAMEM=(struct GC_Amiga_AllocedMemoryHeader *)(int)~(NULL); - - - -/* Type of memory. Once in the execution of a program, this might change to MEMF_ANY|MEMF_CLEAR */ - -ULONG GC_AMIGA_MEMF = MEMF_FAST | MEMF_CLEAR; - - -/* Prevents GC_amiga_get_mem from allocating memory if this one is TRUE. */ -#ifndef GC_AMIGA_ONLYFAST -BOOL GC_amiga_dontalloc=FALSE; -#endif - -#ifdef GC_AMIGA_PRINTSTATS -int succ=0,succ2=0; -int nsucc=0,nsucc2=0; -int nullretries=0; -int numcollects=0; -int chipa=0; -int allochip=0; -int allocfast=0; -int cur0=0; -int cur1=0; -int cur10=0; -int cur50=0; -int cur150=0; -int cur151=0; -int ncur0=0; -int ncur1=0; -int ncur10=0; -int ncur50=0; -int ncur150=0; -int ncur151=0; -#endif - -/* Free everything at program-end. */ - -void GC_amiga_free_all_mem(void){ - struct GC_Amiga_AllocedMemoryHeader *gc_am=(struct GC_Amiga_AllocedMemoryHeader *)(~(int)(GC_AMIGAMEM)); - struct GC_Amiga_AllocedMemoryHeader *temp; - -#ifdef GC_AMIGA_PRINTSTATS - printf("\n\n" - "%d bytes of chip-mem, and %d bytes of fast-mem where allocated from the OS.\n", - allochip,allocfast - ); - printf( - "%d bytes of chip-mem were returned from the GC_AMIGA_FASTALLOC supported allocating functions.\n", - chipa - ); - printf("\n"); - printf("GC_gcollect was called %d times to avoid returning NULL or start allocating with the MEMF_ANY flag.\n",numcollects); - printf("%d of them was a success. (the others had to use allocation from the OS.)\n",nullretries); - printf("\n"); - printf("Succeded forcing %d gc-allocations (%d bytes) of chip-mem to be fast-mem.\n",succ,succ2); - printf("Failed forcing %d gc-allocations (%d bytes) of chip-mem to be fast-mem.\n",nsucc,nsucc2); - printf("\n"); - printf( - "Number of retries before succeding a chip->fast force:\n" - "0: %d, 1: %d, 2-9: %d, 10-49: %d, 50-149: %d, >150: %d\n", - cur0,cur1,cur10,cur50,cur150,cur151 - ); - printf( - "Number of retries before giving up a chip->fast force:\n" - "0: %d, 1: %d, 2-9: %d, 10-49: %d, 50-149: %d, >150: %d\n", - ncur0,ncur1,ncur10,ncur50,ncur150,ncur151 - ); -#endif - - while(gc_am!=NULL){ - temp=gc_am->next; - FreeMem(gc_am,gc_am->size); - gc_am=(struct GC_Amiga_AllocedMemoryHeader *)(~(int)(temp)); - } -} - -#ifndef GC_AMIGA_ONLYFAST - -/* All memory with address lower than this one is chip-mem. */ - -char *chipmax; - - -/* - * Allways set to the last size of memory tried to be allocated. - * Needed to ensure allocation when the size is bigger than 100000. - * - */ -size_t latestsize; - -#endif - - -/* - * The actual function that is called with the GET_MEM macro. - * - */ - -void *GC_amiga_get_mem(size_t size){ - struct GC_Amiga_AllocedMemoryHeader *gc_am; - -#ifndef GC_AMIGA_ONLYFAST - if(GC_amiga_dontalloc==TRUE){ -// printf("rejected, size: %d, latestsize: %d\n",size,latestsize); - return NULL; - } - - // We really don't want to use chip-mem, but if we must, then as little as possible. - if(GC_AMIGA_MEMF==(MEMF_ANY|MEMF_CLEAR) && size>100000 && latestsize<50000) return NULL; -#endif - - gc_am=AllocMem((ULONG)(size + sizeof(struct GC_Amiga_AllocedMemoryHeader)),GC_AMIGA_MEMF); - if(gc_am==NULL) return NULL; - - gc_am->next=GC_AMIGAMEM; - gc_am->size=size + sizeof(struct GC_Amiga_AllocedMemoryHeader); - GC_AMIGAMEM=(struct GC_Amiga_AllocedMemoryHeader *)(~(int)(gc_am)); - -// printf("Allocated %d (%d) bytes at address: %x. Latest: %d\n",size,tot,gc_am,latestsize); - -#ifdef GC_AMIGA_PRINTSTATS - if((char *)gc_am<chipmax){ - allochip+=size; - }else{ - allocfast+=size; - } -#endif - - return gc_am+1; - -} - - - - -#ifndef GC_AMIGA_ONLYFAST - -/* Tries very hard to force GC to find fast-mem to return. Done recursively - * to hold the rejected memory-pointers reachable from the collector in an - * easy way. - * - */ -#ifdef GC_AMIGA_RETRY -void *GC_amiga_rec_alloc(size_t size,void *(*AllocFunction)(size_t size2),const int rec){ - void *ret; - - ret=(*AllocFunction)(size); - -#ifdef GC_AMIGA_PRINTSTATS - if((char *)ret>chipmax || ret==NULL){ - if(ret==NULL){ - nsucc++; - nsucc2+=size; - if(rec==0) ncur0++; - if(rec==1) ncur1++; - if(rec>1 && rec<10) ncur10++; - if(rec>=10 && rec<50) ncur50++; - if(rec>=50 && rec<150) ncur150++; - if(rec>=150) ncur151++; - }else{ - succ++; - succ2+=size; - if(rec==0) cur0++; - if(rec==1) cur1++; - if(rec>1 && rec<10) cur10++; - if(rec>=10 && rec<50) cur50++; - if(rec>=50 && rec<150) cur150++; - if(rec>=150) cur151++; - } - } -#endif - - if (((char *)ret)<=chipmax && ret!=NULL && (rec<(size>500000?9:size/5000))){ - ret=GC_amiga_rec_alloc(size,AllocFunction,rec+1); -// GC_free(ret2); - } - - return ret; -} -#endif - - -/* The allocating-functions defined inside the amiga-blocks in gc.h is called - * via these functions. - */ - - -void *GC_amiga_allocwrapper_any(size_t size,void *(*AllocFunction)(size_t size2)){ - void *ret,*ret2; - - GC_amiga_dontalloc=TRUE; // Pretty tough thing to do, but its indeed necesarry. - latestsize=size; - - ret=(*AllocFunction)(size); - - if(((char *)ret) <= chipmax){ - if(ret==NULL){ - //Give GC access to allocate memory. -#ifdef GC_AMIGA_GC - if(!GC_dont_gc){ - GC_gcollect(); -#ifdef GC_AMIGA_PRINTSTATS - numcollects++; -#endif - ret=(*AllocFunction)(size); - } -#endif - if(ret==NULL){ - GC_amiga_dontalloc=FALSE; - ret=(*AllocFunction)(size); - if(ret==NULL){ - WARN("Out of Memory! Returning NIL!\n", 0); - } - } -#ifdef GC_AMIGA_PRINTSTATS - else{ - nullretries++; - } - if(ret!=NULL && (char *)ret<=chipmax) chipa+=size; -#endif - } -#ifdef GC_AMIGA_RETRY - else{ - /* We got chip-mem. Better try again and again and again etc., we might get fast-mem sooner or later... */ - /* Using gctest to check the effectiviness of doing this, does seldom give a very good result. */ - /* However, real programs doesn't normally rapidly allocate and deallocate. */ -// printf("trying to force... %d bytes... ",size); - if( - AllocFunction!=GC_malloc_uncollectable -#ifdef ATOMIC_UNCOLLECTABLE - && AllocFunction!=GC_malloc_atomic_uncollectable -#endif - ){ - ret2=GC_amiga_rec_alloc(size,AllocFunction,0); - }else{ - ret2=(*AllocFunction)(size); -#ifdef GC_AMIGA_PRINTSTATS - if((char *)ret2<chipmax || ret2==NULL){ - nsucc++; - nsucc2+=size; - ncur0++; - }else{ - succ++; - succ2+=size; - cur0++; - } -#endif - } - if(((char *)ret2)>chipmax){ -// printf("Succeeded.\n"); - GC_free(ret); - ret=ret2; - }else{ - GC_free(ret2); -// printf("But did not succeed.\n"); - } - } -#endif - } - - GC_amiga_dontalloc=FALSE; - - return ret; -} - - - -void (*GC_amiga_toany)(void)=NULL; - -void GC_amiga_set_toany(void (*func)(void)){ - GC_amiga_toany=func; -} - -#endif // !GC_AMIGA_ONLYFAST - - -void *GC_amiga_allocwrapper_fast(size_t size,void *(*AllocFunction)(size_t size2)){ - void *ret; - - ret=(*AllocFunction)(size); - - if(ret==NULL){ - // Enable chip-mem allocation. -// printf("ret==NULL\n"); -#ifdef GC_AMIGA_GC - if(!GC_dont_gc){ - GC_gcollect(); -#ifdef GC_AMIGA_PRINTSTATS - numcollects++; -#endif - ret=(*AllocFunction)(size); - } -#endif - if(ret==NULL){ -#ifndef GC_AMIGA_ONLYFAST - GC_AMIGA_MEMF=MEMF_ANY | MEMF_CLEAR; - if(GC_amiga_toany!=NULL) (*GC_amiga_toany)(); - GC_amiga_allocwrapper_do=GC_amiga_allocwrapper_any; - return GC_amiga_allocwrapper_any(size,AllocFunction); -#endif - } -#ifdef GC_AMIGA_PRINTSTATS - else{ - nullretries++; - } -#endif - } - - return ret; -} - -void *GC_amiga_allocwrapper_firsttime(size_t size,void *(*AllocFunction)(size_t size2)){ - atexit(&GC_amiga_free_all_mem); - chipmax=(char *)SysBase->MaxLocMem; // For people still having SysBase in chip-mem, this might speed up a bit. - GC_amiga_allocwrapper_do=GC_amiga_allocwrapper_fast; - return GC_amiga_allocwrapper_fast(size,AllocFunction); -} - - -#endif //GC_AMIGA_FASTALLOC - - - -/* - * The wrapped realloc function. - * - */ -void *GC_amiga_realloc(void *old_object,size_t new_size_in_bytes){ -#ifndef GC_AMIGA_FASTALLOC - return GC_realloc(old_object,new_size_in_bytes); -#else - void *ret; - latestsize=new_size_in_bytes; - ret=GC_realloc(old_object,new_size_in_bytes); - if(ret==NULL && GC_AMIGA_MEMF==(MEMF_FAST | MEMF_CLEAR)){ - /* Out of fast-mem. */ *** Patch too long, truncated *** _______________________________________________ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe