19 Commits

Author SHA1 Message Date
Ivan Maidanski eee4e1ac6c Do not install gc_allocator.h, gc_disclaim.h unless the features enabled
* Makefile.am [ENABLE_DISCLAIM] (pkginclude_HEADERS): Add gc_disclaim.h
item.
* Makefile.am [CPLUSPLUS] (pkginclude_HEADERS): Add gc_allocator.h item.
* include/include.am (pkginclude_HEADERS): Remove gc_allocator.h and
gc_disclaim.h items.
2018-05-24 11:01:38 +03:00
Ivan Maidanski 92c9e3bad7 Remove C++ WeakPointer and CleanUp API which lacks implementation
Issue #221 (bdwgc).

_WeakPointer_* and _CleanUp_* C functions declared in weakpointer.h
are not implemented (since commit e35a417).

* Makefile.direct (SRCS): Remove weakpointer.h item.
* include/include.am (pkginclude_HEADERS): Likewise.
* include/weakpointer.h: Remove file.
2018-05-24 00:35:26 +03:00
Ivan Maidanski dc8191fd55 Eliminate 'unused const variable' C++ warnings for [a][u]objfreelist_ptr
Issue #206 (bdwgc).

* Makefile.direct (SRCS): Add include/gc_alloc_ptrs.h.
* include/include.am (dist_noinst_HEADERS): Likewise.
* include/gc_alloc_ptrs.h: New file.
* include/new_gc_alloc.h (GC_objfreelist_ptr, GC_aobjfreelist_ptr,
GC_uobjfreelist_ptr, GC_auobjfreelist_ptr, GC_incr_bytes_allocd,
GC_incr_bytes_freed): Move to the declarations to gc_alloc_ptrs.h.
* include/new_gc_alloc.h: Include gc_alloc_ptrs.h; update comment.
* mallocx.c: Likewise.
2018-03-01 23:03:47 +03:00
Ivan Maidanski 46a2411302 Add AO primitives implementation to GC based on C11 atomic intrinsic
* Makefile.direct (SRCS): Add include/private/gc_atomic_ops.h.
* include/include.am (dist_noinst_HEADERS): Likewise.
* include/private/gc_atomic_ops.h: New file; define needed AO entities
if GC_BUILTIN_ATOMIC, otherwise include atomic_ops.h.
* include/private/gc_locks.h [THREADS && GC_PTHREADS
&& !GC_WIN32_THREADS]: Include gc_atomic_ops.h instead of atomic_ops.h.
* include/private/gc_priv.h [PARALLEL_MARK || THREADS && MPROTECT_VDB]:
Likewise.
* include/private/specific.h: Likewise.
* pthread_stop_world.c: Include private/gc_atomic_ops.h instead of
atomic_ops.h.
* tests/subthread_create.c: Likewise.
* thread_local_alloc.c [THREAD_LOCAL_ALLOC && GC_GCJ_SUPPORT]: Likewise.
* typd_mlc.c [GC_FORCE_INCLUDE_ATOMIC_OPS || GC_BUILTIN_ATOMIC]:
Likewise.
* win32_threads.c [GC_DLL && !GC_NO_THREADS_DISCOVERY && !MSWINCE]:
Likewise.
2017-01-25 12:16:56 +03:00
Ivan Maidanski 479b187e62 Fix missing msvc_dbg.h in dist_noinst_HEADERS (Automake)
* include/include.am (dist_noinst_HEADERS): Add msvc_dbg.h entry.
2014-10-21 10:31:11 +04:00
Ivan Maidanski a1467f2140 Move cord_pos.h to public headers folder (since included from cord.h)
* include/private/cord_pos.h: Rename to include/cord_pos.h.
* BCC_MAKEFILE (de_win.obj): Rename "private/cord_pos.h" entry to
"cord_pos.h".
* Makefile.direct (CORD_SRCS, CORD_INCLUDE_FILES): Likewise.
* Makefile.dj (CORD_SRCS, CORD_INCLUDE_FILES): Likewise.
* NT_MAKEFILE (de_win.obj): Likewise.
* NT_STATIC_THREADS_MAKEFILE (de_win.obj): Likewise.
* NT_X64_STATIC_THREADS_MAKEFILE (de_win.obj): Likewise.
* NT_X64_THREADS_MAKEFILE (de_win.obj): Likewise.
* OS2_MAKEFILE (cordbscs.obj, cordxtra.obj, cordprnt.obj,
cordtest.exe): Likewise.
* gc.mak (DEP_CPP_DE_WI, DEP_CPP_DE_C2e, DEP_CPP_CORDX,
DEP_CPP_CORDB): Likewise.
* include/include.am (dist_noinst_HEADERS): Likewise.
* include/cord.h: Include "private/cord_pos.h" instead of "cord_pos.h".
* include/cord_pos.h (CORD_H): Test (skip the file if undefined).
* include/cord_pos.h (CORD_POSITION_H): Define.
2012-01-16 16:32:34 +04:00
Ivan Maidanski 7f83e42102 configure: Do not install ancient new_gc_alloc.h broken for modern STL
* include/include.am (pkginclude_HEADERS): Move new_gc_alloc.h entry
to dist_noinst_HEADERS.
2011-12-28 15:05:52 +04:00
Ivan Maidanski b71d819fbb Fix configure --enable-cplusplus make install
* Makefile.am (pkginclude_HEADERS): Remove gc_allocator.h
entry.
* Makefile.am (include_HEADERS): Add include/extra/gc_cpp.h entry
(only if CPLUSPLUS).
* include/include.am (pkginclude_HEADERS): Remove include/gc_cpp.h
entry.
* include/include.am (include_HEADERS): Remove include/extra/gc_cpp.h
entry.
2011-12-28 14:55:57 +04:00
Ivan Maidanski 4cdc19f35c configure: ensure alphabetic order of files listed in include.am
* include/include.am (pkginclude_HEADERS, dist_noinst_HEADERS): Sort
entries lexicographically.
2011-12-28 12:30:45 +04:00
Ivan Maidanski fabcc8c108 configure: Add javaxfc.h to the installation set of GC header files
* include/include.am (dist_noinst_HEADERS): Move include/javaxfc.h
entry to pkginclude_HEADERS.
2011-12-28 11:22:19 +04:00
Petter Urkedal 3883051d9f Fix issues proposed in Ivan's previous commit, etc.
* disclaim.c -> {finalized_mlc.c, misc.c}: Move low-level code to misc.c and
the finalized object-kind to finalized_mlc.c.
* Makefile.am: Update accordingly.
* reclaim.c: Condition #include "gc_disclaim.h" and remove "register".
* include/gc_disclaim.h, include/private/gc_priv.h, finalized_mlc.c, misc.c:
Add GC_API, GC_CALL, and GC_CALLBACK.  Use typedefs for function pointers.
* tests/disclaim_test.c, tests/disclaim_bench.c: Fix portability and other
issues.

* include/gc_disclaim.h: Forward declare ...
* finalized_mlc.c: ... and export GC_finalized_objfreelist.
* thread_local_alloc.c (GC_destroy_thread_local): Return finalized
freelists though the same global.
* include/private/thread_local_alloc.h: Tweak (move array above comment).

* Makefile.dj, NT_MAKEFILE, NT_STATIC_THREADS_MAKEFILE,
NT_X64_STATIC_THREADS_MAKEFILE, NT_X64_THREADS_MAKEFILE, gc.mak,
windows-untested/vc60/gc.dsp, windows-untested/vc70/gc.vcproj,
windows-untested/vc71/gc.vcproj: Add include/gc_disclaim.h to various build
systems.  (Untested.)
2011-09-30 17:35:19 +04:00
Ivan Maidanski 0b30ed5b08 ENABLE_DISCLAIM: Make stylistic fixes in many places and add many FIXME. 2011-09-30 17:35:15 +04:00
Petter Urkedal 6c1a924458 Add disclaim callbacks for efficient finalization.
Importing gc-20070403-disclaim-1.0.patch.

* configure.ac: Add --disable-disclaim option and set ENABLE_DISCLAIM macro
and conditional accordingly.
* include/include.am, Makefile.am Add sources disclaim.c and
include/gc_disclaim.h.
* Makefile.direct: Ditto and define ENABLE_DISCLAIM.

* include/private/gc_priv.h (obj_kind): Add ok_mark_unconditionally,
ok_disclaim_proc and ok_disclaim_cd.
* misc.c (GC_new_kind_inner): Initialize them.
* include/private/gc_priv.h (hblkhdr): Add HAS_DISCLAIM and
MARK_UNCONDITIONALLY flags.
* allchblk.c (setup_header): Set HAS_DISCLAIM and MARK_UNCONDITIONALLY flags
as indicated by the object kind.

* reclaim.c: Main adjustments to support the disclaim callbacks.
* mark.c (GC_push_unconditionally, GC_push_next_marked_uncollecable):
Unconditionally mark from objects in blocks flagged MARK_UNCONDITIONALLY.
This preserves links reachable from the finalizer when using the the
finalized object kind.

* disclaim.c: Add file with support functions for disclaim callbacks and
implementation of the "finalized" object kind.
* include/gc_disclaim.h: Add file providing the corresponding API.
* include/private/thread_local_alloc.h (thread_local_freelists): Add
finalized_freelists.
* thread_local_alloc.c: Initialize them.

* tests/tests.am, tests/disclaim_test.c, tests/disclaim_bench.c: Add
disclaim-related tests.
2011-09-30 17:34:38 +04:00
Ivan Maidanski 6451756248 Remove information about the authors from the source files.
(This information could be observed via "git log" or by looking into
the original version of a file.)

* Makefile.am: Remove original-author and modified-by information
(as well as a time-stamp) from the file header.
* configure.ac: Ditto.
* cord/cordbscs.c: Ditto.
* cord/cordprnt.c: Ditto.
* cord/cordxtra.c: Ditto.
* cord/de.c: Ditto.
* cord/de_cmds.h: Ditto.
* cord/de_win.h: Ditto.
* doc/README.arm.cross: Ditto.
* doc/doc.am: Ditto.
* dyn_load.c: Ditto.
* gc_cpp.cc: Ditto.
* gc_dlopen.c: Ditto.
* include/cord.h: Ditto.
* include/include.am: Ditto.
* include/private/cord_pos.h: Ditto.
* include/private/gc_hdrs.h: Ditto.
* include/weakpointer.h: Ditto.
* m4/gc_set_version.m4: Ditto.
* tests/test_cpp.cc: Ditto.
* cord/cordprnt.c: Fix a typo in a comment.
* AUTHORS: Add authors.
* cord/cordprnt.c: Expand all tabs to spaces; remove trailing spaces
at EOLn.
* cord/de.c: Ditto.
* cord/de_cmds.h: Ditto.
* cord/de_win.c: Ditto.
* cord/de_win.h: Ditto.
* doc/README.arm.cross: Ditto.
* include/private/cord_pos.h: Ditto.
* include/weakpointer.h: Ditto.
* m4/gc_set_version.m4: Ditto.
2011-08-25 00:16:06 +04:00
Ivan Maidanski d952e81c13 Remove gc_amiga_redirects.h (included internally) from public headers.
* Makefile.direct (SRCS): Remove gc_amiga_redirects.h.
* include/include.am (pkginclude_HEADERS): Ditto.
* windows-untested/vc60/gc.dsp (SOURCE): Ditto.
* windows-untested/vc60/libgc.dsp (SOURCE): Ditto.
* windows-untested/vc70/gc.vcproj (Header Files): Ditto.
* windows-untested/vc70/libgc.vcproj (Header Files): Ditto.
* windows-untested/vc71/gc.vcproj (Header Files): Ditto.
* windows-untested/vc71/libgc.vcproj (Header Files): Ditto.
* include/gc.h: Insert the contents of gc_amiga_redirects.h instead
of including it (only if _AMIGA and not GC_AMIGA_MAKINGLIB).
* include/gc.h (GC_amiga_realloc, GC_amiga_set_toany): Remove
"extern" keyword.
* include/gc.h (GC_amiga_allocwrapper_do): Add GC_CALL to the function
argument.
* include/gc.h (GC_amiga_realloc, GC_amiga_set_toany,
GC_amiga_allocwrapper_do): Remove identifiers for arguments from the
declaration.
2011-08-22 15:51:49 +04:00
hboehm 1a4120a5f5 2007-12-21 Hans Boehm <Hans.Boehm@hp.com>
* include/include.am: Adjust for version.h rename.
	* Makefile.in: Regenerate.
2011-07-26 21:06:41 +04:00
hboehm 841a3775e4 2007-10-23 Hans Boehm <Hans.Boehm@hp.com> (really Petter Urkedal)
* include/extra/gc.h, include/extra/gc_cpp.h: New.
	* include/include.am: Install gc.h and gc_cpp.h in $(prefix)/include
	again.
	* Makefile.in: Regenerate.
2011-07-26 21:06:41 +04:00
Ivan Maidanski 15a8bd002d gc7.0alpha4 tarball import 2011-07-26 20:28:14 +04:00
Ivan Maidanski 4832782951 gc7.0alpha3 tarball import 2011-07-26 20:24:04 +04:00