summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* [7.2c]gc7_2cIvan Maidanski2012-06-26
| | | | Change version in README to 7.2c; update ChangeLog
* Merge branch 'gc-7_2-hotfix-2'Ivan Maidanski2012-06-26
|\
| * Update ChangeLogIvan Maidanski2012-06-08
| |
| * Fix CORD_cat_char_star to prevent SEGV in case of out-of-memoryIvan Maidanski2012-06-08
| | | | | | | | | | * cordbscs.c (CORD_cat_char_star): Check GC_MALLOC_ATOMIC result for NULL (do OUT_OF_MEMORY in such case) to prevent SEGV.
| * Update ChangeLogIvan Maidanski2012-06-07
| |
| * Fix GC_scratch_alloc and GC_get_maps invocations to prevent SEGVIvan Maidanski2012-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (if out of memory) * dyn_load.c (GC_register_dynamic_libraries): If GC_scratch_alloc fails (returns null) then abort (with the appropriate message) instead of causing SEGV. * os_dep.c (GC_dirty_init): Likewise. * headers.c (GC_init_headers): Report error and exit if GC_scratch_alloc fails. * include/private/gc_priv.h (GC_scratch_alloc): Improve comment. * os_dep.c (GC_print_address_map): If GC_get_maps return null then print the appropriate message (instead of passing null to GC_err_puts thus causing SEGV).
| * Update ChangeLogIvan Maidanski2012-06-02
| |
| * Fix GC_FirstDLOpenedLinkMap() for NetBSD 6 releaseTsugutomo Enami2012-06-02
| | | | | | | | | | | | * dyn_load.c: Include sys/param.h and dlfcn.h on NetBSD. * dyn_load.c (GC_FirstDLOpenedLinkMap): Obtain link map using dlinfo() on NetBSD if RTLD_DI_LINKMAP feature present (defined).
| * Update ChangeLogIvan Maidanski2012-06-02
| |
| * Fix visibility of GC_push_all/conditional, GC_push_other_roots symbolsIvan Maidanski2012-06-02
| | | | | | | | | | | | | | | | | | | | | | * include/private/gc_priv.h (GC_push_all, GC_push_other_roots): Declare as GC_API_PRIV (instead of GC_INNER) to make the symbol externally visible to some well-known 3rd-party software (e.g., ECL). * include/private/gc_priv.h (GC_push_conditional): Declare as GC_API_PRIV (only if GC_DISABLE_INCREMENTAL is undefined). * mark.c (GC_push_all, GC_push_conditional): Remove GC_INNER (to match the declaration). * os_dep.c (GC_push_other_roots): Likewise.
| * Fix visibility of GC_clear/set_mark_bit (unhide symbols)Ivan Maidanski2012-06-02
|/ | | | | | | | * include/private/gc_priv.h (GC_clear_mark_bit, GC_set_mark_bit): Declare as GC_API_PRIV (instead of GC_INNER) to make the symbol externally visible to 3rd-party software (e.g., ECL). * mark.c (GC_set_mark_bit, GC_clear_mark_bit): Remove GC_INNER (to match the declaration).
* [7.2b]gc7_2bIvan Maidanski2012-05-22
| | | | Change version in README to 7.2b; update ChangeLog
* Change version in README to 7.2-rev-b; update ChangeLogIvan Maidanski2012-05-20
|
* Update ChangeLogIvan Maidanski2012-05-19
|
* Fix assertion in GC_malloc_[atomic_]uncollectable (THREADS case only)Ivan Maidanski2012-05-19
| | | | | | * malloc.c (GC_malloc_uncollectable): Do not check assertion on hb_n_marks to be zero if multi-threaded; add comment. * mallocx.c (GC_malloc_atomic_uncollectable): Likewise.
* [7.2]gc7_2Ivan Maidanski2012-05-15
| | | | | | | | | | Bump libgc version to 7.2 (final) * configure.ac, doc/README, include/gc_version.h: Bump version to 7.2 (final). * configure: Regenerate. * Makefile.in: Ditto. * ChangeLog: Update.
* Update ChangeLogIvan Maidanski2012-05-01
|
* Set GC_GRANULE_BYTES/GC_GRANULE_WORDS for x32H.J. Lu2012-05-01
| | | | | | | (Apply commit 4a0675b from 'master' branch) * include/gc_tiny_fl.h (GC_GRANULE_BYTES): Set to 8 for x32. (GC_GRANULE_WORDS): Set to 2 for x32.
* Define ALIGNMENT and CPP_WORDSZ for x32H.J. Lu2012-05-01
| | | | | * include/private/gcconfig.h: (ALIGNMENT): Set to 4 for x32. (CPP_WORDSZ): Set to 32 for x32.
* Update ChangeLogIvan Maidanski2012-04-29
|
* Fix compiler warning in GC_check_fl_marksIvan Maidanski2012-04-29
| | | | | * alloc.c (GC_check_fl_marks): Cast pointer passed to GC_is_marked to prevent compiler warning.
* Fix GC_check_fl_marks regarding concurrent accessPetter Urkedal2012-04-29
| | | | | | | * alloc.c (GC_check_fl_marks): Re-read each pointer atomically before following the pointed-to link and bail out if the result is different (this can happen if the thread has popped the object off the free-list); the function is a no-op if AO_load is unavailable.
* Update ChangeLogIvan Maidanski2012-04-22
|
* Fix GC_remove_all_threads_but_me to cleanup thread-specific data storageIvan Maidanski2012-04-22
| | | | | * pthread_support.c (GC_remove_all_threads_but_me): Call GC_remove_specific after destroying thread-local list.
* Code refactoring of GC_check_tls_for/GC_check_fl_marksIvan Maidanski2012-04-22
| | | | | | | | | | | | | | | (Apply commit e67ab08 from 'master' branch) * alloc.c (GC_check_fl_marks): Change prototype (pass pointer to "freelist" element instead of value); do not define the function if THREAD_LOCAL_ALLOC undefined. * include/private/gc_priv.h (GC_check_fl_marks): Likewise. * alloc.c (GC_check_fl_marks): Skip check if the argument points to a special (non-pointer) value; update comment; rename "q" local variable to "list". * thread_local_alloc.c (GC_check_tls_for): Update code according to GC_check_fl_marks functionality change (remove checks for special value).
* Fix GC_with_callee_saves_pushed for clang (disable __builtin_unwind_init)Niklas Therning2012-04-22
| | | | | | * include/private/gcconfig.h (HAVE_BUILTIN_UNWIND_INIT): Do not define for clang (as __builtin_unwind_init seems to be a no-op in the latest clang release).
* Update ChangeLogIvan Maidanski2012-04-11
|
* Fix a typo in comment in pthread_support.hIvan Maidanski2012-04-11
| | | | * include/private/pthread_support.h (DETACHED): Fix a typo in comment.
* Regenerate configure; update ChangeLogIvan Maidanski2012-04-03
|
* FIX: Disable incremental mode on Darwin if fork handling requestedIvan Maidanski2012-04-03
| | | | | | | | | | | | | * doc/README.macros (NO_HANDLE_FORK): Replace back with HANDLE_FORK and update. * include/private/gcconfig.h (CAN_HANDLE_FORK): Define also for Darwin in case of MPROTECT_VDB. * misc.c (GC_set_handle_fork): Handle Darwin properly; add comment. * os_dep.c (GC_dirty_init): Do not turn on GC_dirty_maintained for Darwin if GC_handle_fork is on; add comment; remove FIXME. * pthread_support.c (GC_fork_prepare_proc): Remove WARN for Darwin (since GC_dirty_maintained is off in that case). * pthread_support.c (GC_fork_child_proc): Remove comment (for Darwin).
* Add public GC_set_handle_fork to control forked child handling supportIvan Maidanski2012-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Apply commit 1e882b9 from 'master' branch) * include/gc.h (GC_set_handle_fork): New API function. * misc.c (GC_set_handle_fork): Likewise. * include/private/gc_priv.h (GC_handle_fork): New internal variable declaration (only if CAN_HANDLE_FORK). * misc.c (GC_handle_fork): New internal variable (defined only if CAN_HANDLE_FORK); initialize to TRUE if HANDLE_FORK. * include/private/gcconfig.h (HANDLE_FORK): Replace with CAN_HANDLE_FORK. * pthread_support.c (HANDLE_FORK): Likewise. * win32_threads.c (HANDLE_FORK): Likewise. * include/private/gcconfig.h (CAN_HANDLE_FORK): Always define macro if HANDLE_FORK. * pthread_support.c (GC_thr_init): Replace HANDLE_FORK with CAN_HANDLE_FORK; call pthread_atfork only if GC_handle_fork; update the comment. * win32_threads.c (GC_thr_init): Likewise. * tests/test.c (NO_TEST_HANDLE_FORK): Define new macro if fork handling is not supported (or is a no-op) on the target. * tests/test.c (INIT_FORK_SUPPORT): New macro (invoke GC_set_handle_fork unless NO_TEST_HANDLE_FORK). * tests/test.c (GC_OPT_INIT): New macro (defined to GC_INIT or empty). * tests/test.c (GC_COND_INIT): Use INIT_FORK_SUPPORT and GC_OPT_INIT. * tests/test.c (run_one_test): Test NO_TEST_HANDLE_FORK (instead of target-specific macros). * win32_threads.c (GC_remove_all_threads_but_me, GC_fork_prepare_proc, GC_fork_parent_proc, GC_fork_child_proc): Do not test GC_PTHREADS. * configure.ac (HANDLE_FORK, NO_HANDLE_FORK): Update message.
* Check pthread_atfork result (POSIX threads)Ivan Maidanski2012-04-03
| | | | | * pthread_support.c (GC_thr_init): Abort on pthread_atfork failure (only if HANDLE_FORK).
* Remove redundant public GC_HAVE_GET_HEAP_USAGE_SAFE macroIvan Maidanski2012-04-03
| | | | | | * include/gc.h (GC_HAVE_GET_HEAP_USAGE_SAFE): Remove public HAVE_ macro (since function availability could be determined by autotools); update the comment.
* configure: add --enable-handle-fork optionAndy Wingo2012-04-03
| | | | | | | * configure.ac: Add --enable-handle-fork option; if explicitly passed, enables or disables the pthread_atfork support; if not passed, the default, as determined by gcconfig.h, is to enable HANDLE_FORK if it is supported on the target platform.
* Update ChangeLogIvan Maidanski2012-03-28
|
* doc: Update README for Solaris regarding multi-threading supportIvan Maidanski2012-03-28
| | | | | | * doc/README.solaris2 (SOLARIS THREADS): Update. * doc/overview.html: Remove information about Solaris old-style threads support.
* Update ChangeLogIvan Maidanski2012-03-26
|
* Fix a typo and improve comment in dyn_load.c (Android)Ivan Maidanski2012-03-26
|
* Update ChangeLogIvan Maidanski2012-03-25
|
* Fix GC_clear_stack declaration and make it publicIvan Maidanski2012-03-25
| | | | | | | | | (Includes reverting part of commit b2345fb) * include/gc_mark.h (GC_clear_stack): New API function. * include/private/gc_priv.h (GC_clear_stack): Remove declaration. * misc.c (GC_clear_stack): Replace GC_INNER with GC_API; add GC_CALL calling conventions modifier.
* Fix visibility of some GC internal symbols used by GCJIvan Maidanski2012-03-25
| | | | | | | | | | | | | | (Includes reverting part of commits 68b9f27, 91d5df5, b2345fb) * allchblk.c (GC_hblkfreelist, GC_free_bytes): Do not define array as STATIC again but only if GC_GCJ_SUPPORT (for GNU GCJ client). * blacklst.c (GC_is_black_listed): Do not define as GC_INNER again (for GNU GCJ client). * include/private/gc_priv.h (GC_is_black_listed): Likewise. * include/private/gc_priv.h (GC_hblkfreelist): Restore removed declaration (but only if GC_GCJ_SUPPORT). * reclaim.c (GC_n_set_marks): Do not define as STATIC again (for GCJ); update the comment.
* Fix HIDE_POINTER definition in gc.hIvan Maidanski2012-03-25
| | | | | | | | (Revert part of commit 14d2724) * include/gc.h (HIDE_POINTER): Test GC_I_HIDE_POINTERS macro (as a synonym to I_HIDE_POINTERS) again (remains for backward compatibility only).
* Fix gc.h compatibility regression by adding GC_PTRIvan Maidanski2012-03-25
| | | | | | | | (Revert part of commit e35a417) * include/gc.h (GC_PTR): Add typedef again (for source-level backward compatibility useful for clients currently using gcc_boehmgc or mono_libgc).
* Update ChangeLogIvan Maidanski2012-03-19
|
* Fix GC_ALPHA_VERSION comparison in gctest and tools filesIvan Maidanski2012-03-19
| | | | | | | | | (Apply commit 3b6bc1e from 'master' branch) * tests/test.c (GC_ALPHA_VERSION): Define to GC_TMP_ALPHA_VERSION if not defined by gc_version.h. * extra/add_gc_prefix.c (GC_ALPHA_VERSION): Likewise. * extra/gcname.c (GC_ALPHA_VERSION): Likewise.
* Update ChangeLogIvan Maidanski2012-03-15
|
* Speedup calloc size overflow check by preventing division if small valuesHans Boehm2012-03-15
| | | | | | * malloc.c (GC_SQRT_SIZE_MAX): New macro. * malloc.c (calloc): Add fast initial size overflow check to avoid integer division for reasonably small values passed.
* Update ChangeLogIvan Maidanski2012-03-15
|
* Fix calloc-related code to prevent SIZE_MAX redefinition in sys headersIvan Maidanski2012-03-15
| | | | | * malloc.c: Include limits.h for SIZE_MAX. * malloc.c (SIZE_MAX, calloc): Define GC_SIZE_MAX instead of SIZE_MAX.
* Update ChangeLogIvan Maidanski2012-03-15
|