Commit Graph

20 Commits

Author SHA1 Message Date
1227cb2f6d adts: add RingBuf self-test. RingBuf: make entry#0 the 'head' and pop_front a no-op if empty.
allocators: allow pool_create at NLSO ctor time
lib: add rand() function based on libc rand and self-test. (this allows
easily returning a random number within a range, and avoids a number of
pitfalls - the naive rand()%range approach is baaad)
precompiled: add self_test.h, so that self tests won't be accidentally
disabled by forgetting to include the header

file_cache: add self-test; fixed 2 bugs that exposed (was incorrectly
splitting large blocks and not setting class_size bit properly). fix
weird corner case in BlockMgr (attempting to free LRU block but it is
locked).

file_io, wdbg_sym: tiny fixes

This was SVN commit r3461.
2006-02-03 04:02:53 +00:00
7862e79e84 adts: optimize landlord algorithm at advisor's request (only relevant if we have tons of files in cache)
trace: make note of IO size

xmlutils: fix old remnant of Handle vfs_load return type.

This was SVN commit r3456.
2006-02-02 04:11:07 +00:00
e07622b56a Cache: implement meat of landlord algorithm and add remove()
allocators: add freelist capability to Bucket; add provision for
variable XOR fixed size allocs
archive: re-tag file buffers if reading uncompressed from archive;
improve LFH fixup logic
file_cache: add cache line invalidation; lock down pages (readonly) when
IO finished
file_io: cleanup+docs; properly cut off at EOF without breaking
alignment.
file_stats: add seek accounting (WIP)
vfs_optimizer: also record file_buf_free in the trace. initial
implementation of archive builder (WIP)
zip: lfh_fixup now more efficient (does not involve buffer manager -
instead it grabs LFH from temp blocks)
tex: plug FileIOBuf leak. avoid writing to tex.hm because that is a
read-only file_buf.

This was SVN commit r3428.
2006-01-28 22:19:42 +00:00
3b4295a177 Linux build fixes
This was SVN commit r3427.
2006-01-28 22:04:09 +00:00
7838627cd2 - vfs_load now returns error code and takes FileIOBuf; that must be freed via file_buf_free. if Handle is needed, use mem_wrap.
- remove ScEd hacks and CFont et al macro rename
- fix accursed bug in VFS buffer management that was causing ReadFile to
fail without error (not allocating enough padding)
- vfs_tree: bugfix in tree_lookup
- waio: temporarily disable sector size determination (pending better
approach - need to determine if using DVD drive)

This was SVN commit r3421.
2006-01-24 08:16:29 +00:00
4dbeb2ed6c Fixed a compile error (on gcc-3.3 at least): the code in adts.h used
Traits.something where Traits is a typename instead of using
tr.something where tr is an instance of Traits.

This was SVN commit r3417.
2006-01-23 10:35:24 +00:00
f06f0c8240 adts.cpp: remove DynArray, which was an array of pages. (obsoleted by DynArray/Pool allocators)
adts.h: add Cache (landlord algorithm), move DynHashTbl here from
vfs_tree; expand RingBuf and fix its iterator
allocators: minor tweaks+bugfixes; add SingleAllocator C++ wrapper
config, types: avoid stupid ICC warnings
lib: add round_down, u32_from_u16, SAFE_FREE

This was SVN commit r3414.
2006-01-23 07:59:20 +00:00
ec6b78b252 rename assert2 debug_assert; use instead of all plain assert(), since there are no longer any issues (e.g. can't use while handling an exception)
This was SVN commit r2447.
2005-06-28 04:06:25 +00:00
479f59e386 adts, lib: add some minor comments
This was SVN commit r2121.
2005-04-09 22:24:08 +00:00
da5816e971 Re-enabled VC's memory debugging by default (when not using USE_MMGR). Hopefully fixed the resulting memory leaks. Also fixed incompatibilities with VC2005.
This was SVN commit r1950.
2005-02-27 22:11:26 +00:00
85fd8a0f0e stomped various lint warnings:
- /* */ -> //
- clarified expressions
- add casts
- func() -> func(void)
- signed/unsigned

also KB -> KiB, MB -> MiB

This was SVN commit r1775.
2005-01-23 17:54:20 +00:00
7bef7160ca gcc warning fixes
This was SVN commit r702.
2004-07-11 12:49:44 +00:00
70b7f4249f fixed sneaky iterator bug: when ring buffer full, begin() was equal to end()
This was SVN commit r607.
2004-06-27 01:42:17 +00:00
fc476e04f6 stomped on numerous warnings
This was SVN commit r584.
2004-06-21 16:29:47 +00:00
7fb1f4892e adapted ringbug operator[] for timer's needs
This was SVN commit r507.
2004-06-14 13:27:33 +00:00
15ca5cbf21 newline stomper and fixed warnings
This was SVN commit r473.
2004-06-11 02:14:18 +00:00
0dc6007fbd (re)added headers so it'll work without HAVE_PCH
This was SVN commit r396.
2004-06-04 12:41:53 +00:00
f383cfd4a8 fix for vc7 (incomplete type in container). also some updates to vfs
This was SVN commit r221.
2004-05-08 01:11:51 +00:00
5b5726ed4d merge of (work in progress) VFS code with new dir layout
This was SVN commit r216.
2004-05-06 17:14:30 +00:00
89c5b0d88c the big merge (tm). see forum post for changes made.
This was SVN commit r158.
2004-03-02 23:56:51 +00:00