7.3-alpha2
Pre-release
Pre-release
Changes
- Add 'const' qualifier to pointer argument of some API functions
- Add GC_UNDERSCORE_STDCALL, UNICODE macro templates to configure (Win32)
- Add GC_get_thr_restart_signal, GC_thread_is_registered to GC API
- Add GC_is_heap_ptr, GC_move_disappearing_link to GC API
- Add SHORT_DBG_HDRS macro template to configure
- Add Symbian port to mainline (porting done by Djamel Magri)
- Add TODO file
- Add assertion ensuring proper alignment of 'pushed' GC symbols
- Add assertion in GC_getspecific on qtid
- Add assertion to GC_incremental_protection_needs, refine documentation
- Add assertion to check GC_large_free_bytes by GC_finish_collection
- Add configure option to compile all library .c files into single gc.o
- Add cordtest to make check
- Add disclaim callbacks for efficient finalization (ENABLE_DISCLAIM)
- Add finalization.html to 'doc' folder
- Add javaxfc.h to the installation set of GC header files (configure)
- Add on-heap-resize event notification to API
- Adjust GC_log_printf format specifiers (regarding signed/unsigned long)
- Adjust GC_requested_heapsize on GC_init if GC_INITIAL_HEAP_SIZE given
- Allow GC_exclude_static_roots() region start to be unaligned
- Allow Win32 DllMain chaining on the client side
- Allow to exclude finalization support by GC_NO_FINALIZATION macro
- Allow to get memory via Win32 VirtualAlloc (USE_WINALLOC) on Cygwin
- Avoid unnecessary GC_find_limit invocation if GC_no_dls
- Avoid use of deprecated GC_dont_gc and GC_stackbottom in gctest
- Cast pointers to word (instead of unsigned long) in specific.h
- Changed the order in autogen.sh so ltmain exists in time for automake
- Declare privately and use handy GC_base_C() for constant object pointers
- Define GC_DLL if DLL_EXPORT at GC build (for Cygwin/MinGW)
- Define GC_READ_ENV_FILE in configure for WinCE unless gc-debug is off
- Do not compile backgraph.c unless configure '--enable-gc-debug'
- Do not compile pthread_stop_world.c for Cygwin/Darwin (configure)
- Do not install ancient new_gc_alloc.h broken for modern STL (configure)
- Enable GC_MIN_MARKERS to set minimal number of pthread-based markers
- Enable PARALLEL_MARK and THREAD_LOCAL_ALLOC for FreeBSD in configure
- Enable parallel mark by default in configure (Darwin/Linux/Solaris/Win32)
- Export GC_is_marked, GC_clear/set_mark_bit (for mark-bit manipulation)
- Extend thread-related debug messages
- Fix 'configure --enable-cplusplus' for Cygwin/MinGW
- Fix DATASTART (and other minor improvements) for NaCl target
- Fix GC_setspecific to prevent garbage collection inside
- Fix compiler warning in cordtest
- Fix minor warnings reported by GCC with '-pedantic' option
- Fix static data roots registration on Android (if GC is shared)
- Implement GC_get_stack_base for Darwin for single-threaded mode
- Improve GC_allochblk algorithm of block splitting when unmapping enabled
- Improve GC_collect_or_expand algorithm for many finalizers registered case
- In tests, print a message in case a test is a no-op
- Instruct configure to hide internal libgc.so symbols if supported by GCC
- Log amount of unmapped memory (if enabled) on marking-for-collection
- Make __data_start a weak symbol to allow loading modules on mips
- Move "cord" library tests to "cord/tests" folder
- Move asm machine-dependent files to "src" folder
- Move build tools sources to "tools" folder
- Move cord_pos.h to public headers folder
- Open log file in APPEND mode on Win32 (similar that on Unix/Cygwin)
- Optimize some functions by moving pthread_self calls out of LOCK section
- Place only major per-release changes description to ChangeLog (this file)
- Prevent compiler warnings in GC_FindTopOfStack and GC_ports (Darwin)
- Recognize GC_LOG_TO_FILE_ALWAYS macro to log to 'gc.log' by default
- Remove all auto-generated files from the repo
- Remove binary icon file for de_win
- Remove cordtest from "cord" library
- Remove duplicate MacOS_Test_config.h file
- Remove gc_amiga_redirects.h (included internally) from public headers
- Remove obsolete Makefile.DLL (superseded by Cygwin/MinGW configure)
- Remove obsolete unused asm files for ALPHA, HPUX, SGI, RS6000, ULTRIX
- Remove unsupported MMAP_STACKS (specific to Solaris threads)
- Remove unused ancient SILENT, STDC, NO_SIGNALS macros
- Replace ARGSUSED comment-based annotation with GCC 'unused' attribute
- Replace GC_ms_entry declaration with opaque definition for public API
- Replace long GC_markers global variable with int GC_markers_m1
- Replace pointer relational comparisons with non-pointer ones
- Replace printf PRIxMAX specifier with '%p' for thread id debug output
- Require autoconf 2.61 instead of v2.64
- Simplify autogen.sh (use autoreconf)
- Split GC_abort with GC_on_abort and abort() invoked from ABORT
- Support GC_ATTR_MALLOC for MS VisualStudio
- Tag auxiliary malloc-like API functions with 'malloc' attribute
- Tag deprecated variables in GC API
- Tag must-be-non-null arguments of GC API functions
- Turn on "extra" GCC warnings
- Turn on unused-parameter checking for GCC
- Update AUTHORS file
- Use EXPECT for checking various 'initialized' boolean variables
- Use USE_COMPILER_TLS on Cygwin
- Use pthread_key for thread-local storage on FreeBSD
- Use union of AO_t and word to favor strict-aliasing compiler optimization
Also, includes 7.2 changes