Skip to content

7.3-alpha2

Pre-release
Pre-release
Compare
Choose a tag to compare
@ivmai ivmai released this 16 May 19:22
· 4655 commits to master since this 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

Distribution Tarball

gc-7.3alpha2.tar.gz