diff options
Diffstat (limited to 'boehm-gc/TODO')
-rw-r--r-- | boehm-gc/TODO | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/boehm-gc/TODO b/boehm-gc/TODO new file mode 100644 index 00000000000..d8a8b76de2d --- /dev/null +++ b/boehm-gc/TODO @@ -0,0 +1,75 @@ +== TODO tasks == + +tests/CMakeLists.txt: Add more executables (see tests.am). + +Use C++0x ATM (atomic memory operations) if available (either from the +compiler runtime, provided it is reliable, or from the future libatomic_ops). + +Add a test for libatomic_ops minimal version required (at compile time). + +windows-untested: Remove if CMake can generate MS Visual Studio 6.0, 7.0, 8.0 +project files. + +BCC_MAKEFILE: Remove if CMake can generate Makefile for this compiler. +(Same for WCC_MAKEFILE, OS2_MAKEFILE, NT_MAKEFILE, NT_STATIC_THREADS_MAKEFILE, +NT_X64_STATIC_THREADS_MAKEFILE, NT_X64_THREADS_MAKEFILE, digimars.mak, +gc.mak.) + +Makefile.dj: Remove if it is possible to use Makefile.direct (or +auto-generated Makefile) instead. (Same for EMX_MAKEFILE.) + +build_atomic_ops.sh[.cygwin]: Remove if really not needed. + +BCC_MAKEFILE, EMX_MAKEFILE, OS2_MAKEFILE, PCR-Makefile, WCC_MAKEFILE, +SMakefile.amiga, Makefile.dj, digimars.mak: move to "build" folder. + +Do type-punning via union (instead of pointer type cast) to enable safe +'-fstrict-aliasing' compiler optimization option. + +Support CAN_HANDLE_FORK if USE_WINALLOC for Cygwin. + +Enable GC_set_handle_fork(1) for Darwin with GC_dirty_maintained on (both +single and multi-threaded modes). + +Add more fields to GC_prof_stats_s (potential candidates are: +requested_heapsize, max_large_allocd_bytes, large_allocd_bytes, bytes_dropped, +bytes_finalized, bytes_freed, finalizer_bytes_freed, composite_in_use, +atomic_in_use, GC_n_heap_sects, GC_n_memory, GC_black_list_spacing, +GC_root_size, GC_max_root_size, n_root_sets, GC_total_stacksize, +GC_collect_at_heapsize, GC_fail_count, GC_mark_stack_size, last_fo_entries, +last_bytes_finalized, last_finalizer_notification_no, GC_dl_entries, +GC_old_dl_entries, GC_used_heap_size_after_full, GC_total_stack_black_listed, +signed_log_dl_table_size, GC_n_rescuing_pages, signed_log_fo_table_size, +GC_excl_table_entries, GC_stack_last_cleared, GC_bytes_allocd_at_reset, +GC_n_heap_bases, registered_threads_cnt, GC_max_thread_index, GC_block_count, +GC_unlocked_count, GC_hdr_cache_hits, GC_hdr_cache_misses, GC_spin_count). + + +== FIXME tasks == + +Solaris + GCC: make check fails with the message: +libc.so.1: gctest: fatal: libgcc_s.so.1: open failed: No such file or directory + +Solaris/x86[_64]: gctest fails if PROC_VDB. + +Darwin/x86_64: deadlock might occur between: +dlclose() -> GC_dyld_image_remove() -> GC_lock() and +GC_inner_start_routine()+LOCK -> dyld_stub_binder_(). + +HP-UX 11.00 with the vendor cc fails: +Perhaps GC_push_regs was configured incorrectly? FAIL: gctest. + +FreeBSD 9.0/x86_64 (gcc-4.2.1-20070831): gctest segfaults sometimes in +GC_typed_mark_proc if configured with --enable-threads=pthreads. + +OpenBSD 5.1/i386: leaktest fails rarely (unless logging redirected to file): +cannot write to stderr from GC_gcollect invoked from 'atexit' hook. + +NetBSD 5.1/x86: threadkey_test hangs sometimes. + +Cygwin: subthread_create: exception STATUS_ACCESS_VIOLATION. + +Cygwin: gctest: assertion failure at UNLOCK in GC_fork_parent_proc. + +Sun C++ 5.11: test_cpp.cc:237: Error: Too few arguments in call to +"operator delete(void*, GCPlacement, extern "C" void(*)(void*,void*), void*)". |