0ad/source/lib/allocators
janwas 2374caac3e major refactor of file/io and alignment code. requires update-workspaces
. completely rewrite waio - use IOCP, add several hardcore
optimizations. now outperforms the
  AS SSD and ATTO benchmarks when writing
. refactor file interface - use LIO_READ instead of 'r', allow access to
file descriptor.
. completely rewrite the IO wrapper. now much more simple, less CPU
overhead, adds
  support for pre-issue/post-completion hooks and preallocation.
  io::Run defaults to simple synchronous IO; use io::Parameters to get
asynchronous.
. add alignment.h with constants and Align() function template (more
efficient than
  round_up for compile-time constants)
. add UniqueRange - similar to C++0x unique_ptr (emulated for C++03),
plus a
  built-in size. avoids expensive thread-safe reference counting in
shared_ptr.

cleanup:
- move fat_time functions into archive_zip
- remove no longer needed io_align and block_cache
- reduce dependencies in sysdep/compiler (move parts to
code_annotation.h)
- move IOCP into separate file (reused by waio)

This was SVN commit r9350.
2011-04-29 19:10:34 +00:00
..
tests warning fixes: mostly size_t vs. specialized API type and other type conversion. 2010-09-05 09:38:30 +00:00
aligned_allocator.cpp needed to split lib into separate headers and source files, which requires lots of drudgery to specify paths for each include filename (no longer relying on same-directory lookups) 2010-03-01 14:52:58 +00:00
aligned_allocator.h move cache detection into separate file. 2011-03-18 16:44:03 +00:00
allocators.cpp major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
allocators.h Fix #423 (Switch from CppDoc to Doxygen), based on patch from anr. 2010-07-29 15:55:41 +00:00
bucket.cpp fixes from work: avoid potential 0-pointer dereference in freelist, also avoid branching in freelist functions via sentinel 2011-03-28 12:28:29 +00:00
bucket.h Fix #423 (Switch from CppDoc to Doxygen), based on patch from anr. 2010-07-29 15:55:41 +00:00
dynarray.cpp cleanup - remove old cpu_memcpy and cpu_i64FromDouble that are no longer needed 2010-11-01 11:09:03 +00:00
dynarray.h Fix #423 (Switch from CppDoc to Doxygen), based on patch from anr. 2010-07-29 15:55:41 +00:00
headerless.cpp fix assertion under heavy cache usage due to 32-bit overflow (c.f. http://www.wildfiregames.com/forum/index.php?showtopic=13622) 2010-10-09 18:12:11 +00:00
headerless.h license change to the more permissible Expat/MIT license for lib/ (see forum thread) 2010-02-08 16:23:39 +00:00
mem_util.cpp major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
mem_util.h fixes from work: avoid potential 0-pointer dereference in freelist, also avoid branching in freelist functions via sentinel 2011-03-28 12:28:29 +00:00
pool.cpp major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
pool.h Use pool allocator to avoid apparently expensive dynamic allocations when rendering terrain. 2011-03-30 21:42:35 +00:00
shared_ptr.cpp needed to split lib into separate headers and source files, which requires lots of drudgery to specify paths for each include filename (no longer relying on same-directory lookups) 2010-03-01 14:52:58 +00:00
shared_ptr.h major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
string_pool.cpp cleanup - remove old cpu_memcpy and cpu_i64FromDouble that are no longer needed 2010-11-01 11:09:03 +00:00
string_pool.h needed to split lib into separate headers and source files, which requires lots of drudgery to specify paths for each include filename (no longer relying on same-directory lookups) 2010-03-01 14:52:58 +00:00
unique_range.cpp major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
unique_range.h major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00