⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.changes

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 CHANGES
📖 第 1 页 / 共 5 页
字号:
- Made uncollectable allocations bypass black-listing, as they  should.- Fixed a bug in typed_test in test.c that could cause (legitimate)  GC crashes.- Fixed some potential synchronization problems in finalize.c- Fixed a real locking problem in typd_mlc.c.- Worked around an AIX 3.2 compiler feature that results in  out of bounds memory references.- Partially worked around an IRIX5.2 beta problem (which may  or may not persist to the final release).- Fixed a bug in the heap integrity checking code that could  result in explicitly deallocated objects being identified as  smashed.  Fixed a bug in the dbg_mlc stack saving code  that caused old argument pointers to be considered live.- Fixed a bug in CORD_ncmp (and hence CORD_str).- Repaired the OS2 port, which had suffered from bit rot  in 4.0.  Worked around what appears to be CSet/2 V1.0  optimizer bug.- Fixed a Makefile bug for target "c++".Since version 4.1:- Multiple bug fixes/workarounds in the Solaris threads version.  (It occasionally failed to locate some register contents for  marking.  It also turns out that thr_suspend and friends are  unreliable in Solaris 2.3.  Dirty bit reads appear  to be unreliable under some weird   circumstances.  My stack marking code  contained a serious performance bug.  The new code is  extremely defensive, and has not failed in several cpu  hours of testing.  But  no guarantees ...)- Added MacOS support (thanks to Patrick Beard.)- Fixed several syntactic bugs in gc_c++.h and friends.  (These  didn't bother g++, but did bother most other compilers.)  Fixed gc_c++.h finalization interface.  (It didn't.)- 64 bit alignment for allocated objects was not guaranteed in a  few cases in which it should have been.- Added GC_malloc_atomic_ignore_off_page.- Added GC_collect_a_little.- Added some prototypes to gc.h.- Some other minor bug fixes (notably in Makefile).- Fixed OS/2 / EMX port (thanks to Ari Huttunen).- Fixed AmigaDOS port. (thanks to Michel Schinz).- Fixed the DATASTART definition under Solaris.  There  was a 1 in 16K chance of the collector missing the first  64K of static data (and thus crashing).- Fixed some blatant anachronisms in the README file.- Fixed PCR-Makefile for upcoming PPCR release.Since version 4.2:- Fixed SPARC alignment problem with GC_DEBUG.- Fixed Solaris threads /proc workaround.  The real  problem was an interaction with mprotect.- Incorporated fix from Patrick Beard for gc_c++.h (now gc_cpp.h).- Slightly improved allocator space utilization by  fixing the GC_size_map mechanism.- Integrated some Sony News and MIPS RISCos 4.51  patches.  (Thanks to Nobuyuki Hikichi of  Software Research Associates, Inc. Japan)- Fixed HP_PA alignment problem.  (Thanks to  xjam@cork.cs.berkeley.edu.)- Added GC_same_obj and friends.  Changed GC_base  to return 0 for pointers past the end of large objects.  Improved GC_base performance with ALL_INTERIOR_POINTERS  on machines with a slow integer mod operation.  Added GC_PTR_ADD, GC_PTR_STORE, etc. to prepare  for preprocessor.- changed the default on most UNIX machines to be that  signals are not disabled during critical GC operations.  This is still ANSI-conforming, though somewhat dangerous  in the presence of signal handlers. But the performance  cost of the alternative is sometimes problematic.  Can be changed back with a minor Makefile edit.- renamed IS_STRING in gc.h, to CORD_IS_STRING, thus  following my own naming convention.  Added the function  CORD_to_const_char_star.- Fixed a gross bug in GC_finalize.  Symptom: occasional  address faults in that function.  (Thanks to Anselm  Baird-Smith (Anselm.BairdSmith@inria.fr)- Added port to ICL DRS6000 running DRS/NX.  Restructured  things a bit to factor out common code, and remove obsolete  code.  Collector should now run under SUNOS5 with either  mprotect or /proc dirty bits.  (Thanks to Douglas Steel  (doug@wg.icl.co.uk)).- More bug fixes and workarounds for Solaris 2.X.  (These were  mostly related to putting the collector in a dynamic library,  which didn't really work before.  Also SOLARIS_THREADS  didn't interact well with dl_open.)  Thanks to btlewis@eng.sun.com.- Fixed a serious performance bug on the DEC Alpha.  The text  segment was getting registered as part of the root set.  (Amazingly, the result was still fast enough that the bug  was not conspicuous.) The fix works on OSF/1, version 1.3.  Hopefully it also works on other versions of OSF/1 ...- Fixed a bug in GC_clear_roots.- Fixed a bug in GC_generic_malloc_words_small that broke  gc_inl.h.  (Reported by Antoine de Maricourt.  I broke it  in trying to tweak the Mac port.) - Fixed some problems with cord/de under Linux.- Fixed some cord problems, notably with CORD_riter4.- Added DG/UX port.  Thanks to Ben A. Mesander (ben@piglet.cr.usgs.gov)- Added finalization registration routines with weaker ordering  constraints.  (This is necessary for C++ finalization with  multiple inheritance, since the compiler often adds self-cycles.)- Filled the holes in the SCO port. (Thanks to Michael Arnoldus  <chime@proinf.dk>.)- John Ellis' additions to the C++ support:  From John:* I completely rewrote the documentation in the interface gc_c++.h(later renamed gc_cpp.h).  I've tried to make it both clearer and moreprecise.* The definition of accessibility now ignores pointers from anfinalizable object (an object with a clean-up function) to itself.This allows objects with virtual base classes to be finalizable by thecollector.  Compilers typically implement virtual base classes usingpointers from an object to itself, which under the old definition ofaccessibility prevented objects with virtual base classes from everbeing collected or finalized.* gc_cleanup now includes gc as a virtual base.  This was enabled bythe change in the definition of accessibility.* I added support for operator new[].  Since most (all?) compilersdon't yet support operator new[], it is conditionalized on-DOPERATOR_NEW_ARRAY.  The code is untested, but its trivial and lookscorrect.* The test program test_gc_c++ (later renamed test_cpp.cc)tries to test for the C++-specific functionality not tested by theother programs.- Added <unistd.h> include to misc.c.  (Needed for ppcr.)- Added PowerMac port. (Thanks to Patrick Beard again.)- Fixed "srcdir"-related Makefile problems.  Changed things so  that all externally visible include files always appear in the  include subdirectory of the source.  Made gc.h directly  includable from C++ code.  (These were at Per  Bothner's suggestion.)- Changed Intel code to also mark from ebp (Kevin Warne's  suggestion).- Renamed C++ related files so they could live in a FAT  file system. (Charles Fiterman's suggestion.)- Changed Windows NT Makefile to include C++ support in  gc.lib.  Added C++ test as Makefile target.  Since version 4.3: - ASM_CLEAR_CODE was erroneously defined for HP   PA machines, resulting in a compile error. - Fixed OS/2 Makefile to create a library.  (Thanks to   Mark Boulter (mboulter@vnet.ibm.com)). - Gc_cleanup objects didn't work if they were created on   the stack.  Fixed. - One copy of Gc_cpp.h in the distribution was out of    synch, and failed to document some known compiler   problems with explicit destructor invocation.  Partially   fixed.  There are probably other compilers on which   gc_cleanup is miscompiled. - Fixed Makefile to pass C compiler flags to C++ compiler. - Added Mac fixes. - Fixed os_dep.c to work around what appears to be   a new and different VirtualQuery bug under newer   versions of win32S. - GC_non_gc_bytes was not correctly maintained by   GC_free.  Fixed.  Thanks to James Clark (jjc@jclark.com). - Added GC_set_max_heap_size. - Changed allocation code to ignore blacklisting if it is preventing   use of a very large block of memory.  This has the advantage   that naive code allocating very large objects is much more   likely to work.  The downside is you might no   longer find out that such code should really use   GC_malloc_ignore_off_page. - Changed GC_printf under win32 to close and reopen the file   between calls.  FAT file systems otherwise make the log file   useless for debugging. - Added GC_try_to_collect and GC_get_bytes_since_gc.  These   allow starting an abortable collection during idle times.    This facility does not require special OS support.  (Thanks to   Michael Spertus of Geodesic Systems for suggesting this.  It was   actually an easy addition.  Kumar Srikantan previously added a similar   facility to a now ancient version of the collector.  At the time   this was much harder, and the result was less convincing.) - Added some support for the Borland development environment.  (Thanks   to John Ellis and Michael Spertus.) - Removed a misfeature from checksums.c that caused unexpected    heap growth.  (Thanks to Scott Schwartz.) - Changed finalize.c to call WARN if it encounters a finalization cycle.   WARN is defined in gc_priv.h to write a message, usually to stdout.   In many environments, this may be inappropriate. - Renamed NO_PARAMS in gc.h to GC_NO_PARAMS, thus adhering to my own   naming convention. - Added GC_set_warn_proc to intercept warnings. - Fixed Amiga port. (Thanks to Michel Schinz (schinz@alphanet.ch).) - Fixed a bug in mark.c that could result in an access to unmapped   memory from GC_mark_from_mark_stack on machines with unaligned   pointers. - Fixed a win32 specific performance bug that could result in scanning of   objects allocated with the system malloc. - Added REDIRECT_MALLOC.Since version 4.4: - Fixed many minor and one major README bugs. (Thanks to Franklin Chen   (chen@adi.com) for pointing out many of them.) - Fixed ALPHA/OSF/1 dynamic library support. (Thanks to Jonathan Bachrach   (jonathan@harlequin.com)). - Added incremental GC support (MPROTECT_VDB) for Linux (with some   help from Bruno Haible). - Altered SPARC recognition tests in gc.h and config.h (mostly as   suggested by Fergus Henderson). - Added basic incremental GC support for win32, as implemented by   Windows NT and Windows 95.  GC_enable_incremental is a noop   under win32s, which doesn't implement enough of the VM interface. - Added -DLARGE_CONFIG. - Fixed GC_..._ignore_off_page to also function without   -DALL_INTERIOR_POINTERS. - (Hopefully) fixed RS/6000 port.  (Only the test was broken.) - Fixed a performance bug in the nonincremental collector running   on machines supporting incremental collection with MPROTECT_VDB   (e.g. SunOS 4, DEC AXP).  This turned into a correctness bug under   win32s with win32 incremental collection.  (Not all memory protection   was disabled.) - Fixed some ppcr related bit rot. - Caused dynamic libraries to be unregistered before reregistering.   The old way turned out to be a performance bug on some machines. - GC_root_size was not properly maintained under MSWIN32. - Added -DNO_DEBUGGING and GC_dump. - Fixed a couple of bugs arising with SOLARIS_THREADS +   REDIRECT_MALLOC. - Added NetBSD/M68K port.  (Thanks to Peter Seebach   <seebs@taniemarie.solon.com>.) - Fixed a serious realloc bug.  For certain object sizes, the collector   wouldn't scan the expanded part of the object.  (Thanks to Clay Spence   (cds@peanut.sarnoff.com) for noticing the problem, and helping me to   track it down.)   Since version 4.5: - Added Linux ELF support.  (Thanks to Arrigo Triulzi <arrigo@ic.ac.uk>.) - GC_base crashed if it was called before any other GC_ routines.   This could happen if a gc_cleanup object was allocated outside the heap   before any heap allocation. - The heap expansion heuristic was not stable if all objects had finalization   enabled.  Fixed finalize.c to count memory in finalization queue and   avoid explicit deallocation.  Changed alloc.c to also consider this count.   (This is still not recommended.  It's expensive if nothing else.)  Thanks   to John Ellis for pointing this out. - GC_malloc_uncollectable(0) was broken.  Thanks to Phong Vo for pointing   this out. - The collector didn't compile under Linux 1.3.X.  (Thanks to Fred Gilham for   pointing this out.)  The current workaround is ugly, but expected to be   temporary. - Fixed a formatting problem for SPARC stack traces.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -