gc6.5 tarball import
gc6.6 tarball import
gc6.7 tarball import
gc6.8 tarball import
GC 6.7 Import
Add support for Darwin/ARM

Ported from Mono revision 111873:
  http://anonsvn.mono-project.com/viewvc?view=rev&revision=111873
Tweak libtool to support specifying @executable_path.

MacOS allows specifying library paths relative to the executable,
but libtool rejects such paths. This fixes it.
Fix compiler flags for MacOS.

Since libgc uses a C compiler to link the library, linker flags
must be passed to it properly wrapped. Otherwise it is impossible
to pass the system root information for iPhone.
Make Darwin/ARM use mmap() intead of sbrk() for its allocator implementation.
Fix thread support for Leopard.

- Handle renaming of some structure members.
- Also push ebp when pushing all stacks.

Ported from Mono revisions 88671, 88880 and 88924.
Fix OSX/Intel support with SDK 10.4

- libgc/darwin_stop_world.c, libgc/include/private/gc_priv.h,
  libgc/os_dep.c: Fixes to make the GC work on OSX/Intel with XCode
  2.4 (10.4u SDK and newer).

  This code should work with older versions of the SDK as well.

Ported from Mono revision 68156.
Export a function to register external threads.

Original GC only supports running on the main thread, and
threads that it created itself. When using it for embedded
virtual machines, e.g. Neko, the host application may want
to be able to use it on threads that it created through
system frameworks.

This commit adds a function that can be used to do it.
However, it is a low-level interface that requires knowledge
about the libgc internals to use properly.
Disable munmap for ARM/Darwin.

This feature is largely experimental, and causes
random mprotect failures on iPhone, so it is better
to disable it. This makes allocation of memory to
Neko permanent until termination of the application.
libgc_7_1_symbian tarball import
Translate README.symbian to English.
Move README.symbian to 'doc' folder.
Update ChangeLog
Move finalize.c global variables outside to alloc.c and misc.c
(to minimize number of linked global symbols of 'finalize' module in
case finalization not unused)

* alloc.c (GC_fo_entries): Move global variable definition from
finalize.c.
* finalize.c (GC_fo_entries): Likewise.
* finalize.c (GC_finalize_on_demand, GC_java_finalization,
GC_finalizer_notifier): Move global variable definition to misc.c.
* misc.c (GC_finalize_on_demand, GC_java_finalization,
GC_finalizer_notifier): Likewise.
Add missing GC_ATTR_UNUSED annotation to GC_store_debug_info_inner

* dbg_mlc.c (CROSSES_HBLK): Add missing parentheses.
* dbg_mlc.c (GC_store_debug_info_inner): Tag "sz" argument with
GC_ATTR_UNUSED (as unused if SHORT_DBG_HDRS).
Allow to exclude finalization support by GC_NO_FINALIZATION macro

* doc/README.macros (GC_NO_FINALIZATION): Document.
* alloc.c (GC_finish_collection): Do not call GC_finalize and
GC_print_finalization_stats if GC_NO_FINALIZATION.
* dbg_mlc.c (closure, GC_make_closure, GC_debug_invoke_finalizer,
OFN_UNSET, store_old, GC_debug_register_finalizer,
GC_debug_register_finalizer_no_order,
GC_debug_register_finalizer_unreachable,
GC_debug_register_finalizer_ignore_self): Do not define if
GC_NO_FINALIZATION.
* finalize.c: Skip all definitions if GC_NO_FINALIZATION.
* finalize.c (GC_call_with_alloc_lock): Move to misc.c.
* include/private/gc_priv.h (GC_INVOKE_FINALIZERS): Define to empty
if GC_NO_FINALIZATION.
* include/private/gc_priv.h (GC_notify_or_invoke_finalizers,
GC_push_finalizer_structures, GC_finalize,
GC_print_finalization_stats): Do not declare if GC_NO_FINALIZATION.
* mark_rts.c (GC_push_gc_structures): Do not call
GC_push_finalizer_structures if GC_NO_FINALIZATION.
* misc.c (GC_call_with_alloc_lock): Move from "finalize" module.
* tests/test.c (mktree): Do not declare "my_index" and "new_link"
local variables, do not update live_indicators_count, do not call
GC_REGISTER_FINALIZER, GC_GENERAL_REGISTER_DISAPPEARING_LINK,
GC_move_disappearing_link, GC_unregister_disappearing_link if
GC_NO_FINALIZATION.
* tests/test.c (check_heap_stats): Do not declare "still_live",
"late_finalize_count" local variables and do not check finalization
for failures if GC_NO_FINALIZATION.