0ad/source/lib/sysdep
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
..
arch __cpuidex was added in VC2008 SP1, so don't use it if pre-SP1 2011-04-19 23:23:16 +00:00
os major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
rtl license change to the more permissible Expat/MIT license for lib/ (see forum thread) 2010-02-08 16:23:39 +00:00
tests Build fixes and whatnot 2011-03-23 21:15:22 +00:00
acpi.cpp (requires update-workspaces) 2011-04-03 15:38:48 +00:00
acpi.h further fixes from work (where i've finally managed to (temporarily) sign the Aken driver) 2010-07-14 12:23:53 +00:00
arch.h warning fixes: mostly size_t vs. specialized API type and other type conversion. 2010-09-05 09:38:30 +00:00
clipboard.h license change to the more permissible Expat/MIT license for lib/ (see forum thread) 2010-02-08 16:23:39 +00:00
compiler.h major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
cpu.cpp WIP timer thread safety: 2010-11-01 09:54:03 +00:00
cpu.h minor fixes from work; also add sys_WideFromArgv 2011-01-04 19:53:38 +00:00
cursor.h Fix #423 (Switch from CppDoc to Doxygen), based on patch from anr. 2010-07-29 15:55:41 +00:00
dir_watch.h refactor headers: path_util -> path, native_path -> os_path, remove where unnecessary 2011-03-23 14:43:35 +00:00
filesystem.h major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
gfx.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
gfx.h license change to the more permissible Expat/MIT license for lib/ (see forum thread) 2010-02-08 16:23:39 +00:00
numa.h Fix #423 (Switch from CppDoc to Doxygen), based on patch from anr. 2010-07-29 15:55:41 +00:00
os_cpu.cpp smbios: more convenient interface that avoids having to check if the structures pointer is null (can still detect failure by checking whether all/guaranteed member pointers are zero) 2011-04-07 19:35:45 +00:00
os_cpu.h make use of SMBIOS information to detect CPU frequency and memory size 2011-04-07 17:06:00 +00:00
os.h license change to the more permissible Expat/MIT license for lib/ (see forum thread) 2010-02-08 16:23:39 +00:00
rtl.h license change to the more permissible Expat/MIT license for lib/ (see forum thread) 2010-02-08 16:23:39 +00:00
smbios.cpp major refactor of file/io and alignment code. requires update-workspaces 2011-04-29 19:10:34 +00:00
smbios.h smbios: avoid displaying unknown maxError value; add enumerators for BIOS characteristics and extended characteristics 2011-04-08 07:10:31 +00:00
snd.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
snd.h license change to the more permissible Expat/MIT license for lib/ (see forum thread) 2010-02-08 16:23:39 +00:00
stl.h per discussion with Philip, remove STL_HASH_MAP etc. because they're ugly, rarely used and superseded by boost::unordered* 2011-03-23 16:56:27 +00:00
sysdep.h Build fixes and whatnot 2011-03-23 21:15:22 +00:00