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