Commit Graph

124 Commits

Author SHA1 Message Date
micha
9f11556f10 * flush output after heap debug writeln at exit
git-svn-id: trunk@7413 -
2007-05-21 20:38:29 +00:00
micha
6c85fcb157 heap manager: initialize critical sections properly
git-svn-id: trunk@7412 -
2007-05-21 17:08:28 +00:00
micha
7f2a257102 + heap manager now per thread, reduce heap lock contention
+ heap threading test

git-svn-id: trunk@7407 -
2007-05-20 20:58:12 +00:00
micha
bb9de8f193 * SHOW_MEM_USAGE define to always show maximum heap size used/allocated, independent of DUMP_MEM_USAGE
git-svn-id: trunk@7324 -
2007-05-13 12:34:16 +00:00
micha
4579c242df * heap manager: look for better matching variable block size, with upperbound search
git-svn-id: trunk@7320 -
2007-05-12 20:52:08 +00:00
micha
aa951460a5 + heap manager size statistics
git-svn-id: trunk@7319 -
2007-05-12 20:50:33 +00:00
micha
09a60a4019 * tiny optimization to heap manager: implement freeoslist as a fifo (instead of lifo) which should allow more os chunks to keep their fixed size formatting in case of diverse fixed size usage
git-svn-id: trunk@7237 -
2007-05-02 05:20:44 +00:00
micha
9c727d1762 * tiny optimization to heap manager, avoid repeated removing/readding to freeoslist overhead
git-svn-id: trunk@7236 -
2007-05-01 21:04:18 +00:00
micha
e30a47723b * heap manager micro optimizations
git-svn-id: trunk@7219 -
2007-04-30 20:23:46 +00:00
micha
9bdde01a99 * avoid usage of freelists_free_chunk boolean, while still prevent repeated fixed size conversion overhead; should reduce memory usage in some cases
git-svn-id: trunk@7203 -
2007-04-30 12:52:28 +00:00
yury
3c10856a4f * Dont throw runerrors in default MemoryMutexManager if HAS_MT_MEMORYMANAGER is defined.
git-svn-id: trunk@5962 -
2007-01-14 01:14:12 +00:00
Legolas
9e6d19a494 * rtl part of first Nintendo DS port
git-svn-id: trunk@5593 -
2006-12-14 17:34:51 +00:00
Jonas Maebe
64b7f00afd * fixed ReturnNilIfGrowHeapFails
git-svn-id: trunk@5042 -
2006-10-28 18:17:34 +00:00
micha
dc3b37ff73 + heap manager: reduce overhead on fixed size chunks from 8 to 4
git-svn-id: trunk@4904 -
2006-10-14 15:05:24 +00:00
Legolas
19d597f425 * Reactivated heap management for GBA
git-svn-id: trunk@4529 -
2006-09-01 17:54:59 +00:00
florian
d337c3ca6a * clean up heap at exit, fixes #7183
git-svn-id: trunk@4410 -
2006-08-11 22:09:29 +00:00
peter
b3732f7215 * keep same fixed block, also if we resize to a smaller size.
git-svn-id: trunk@4313 -
2006-07-30 15:02:28 +00:00
yury
e062922528 * added an option to use target-specific memory manager instead of standard. This is controlled by HAS_MEMORYMANAGER and HAS_MT_MEMORYMANAGER defines.
* wince executables use C memory manager now (as all apps compiled by eVC++). It saves 5.5 KB of exe size.

git-svn-id: trunk@4282 -
2006-07-23 10:23:31 +00:00
florian
5575a837db * gba patch from Francesco Lombardi
git-svn-id: trunk@3716 -
2006-05-28 14:48:24 +00:00
peter
4b7f51b0aa * fixed uninitialized var
git-svn-id: trunk@2654 -
2006-02-20 11:24:38 +00:00
florian
0cc2b9b16b * small speed improvements
git-svn-id: trunk@2633 -
2006-02-19 16:59:03 +00:00
florian
a9198b7300 * ensure always 16 byte aligned memory blocks
git-svn-id: trunk@2511 -
2006-02-10 19:08:43 +00:00
peter
9d817056ce * optimize by removing expensive calculations
git-svn-id: trunk@1973 -
2005-12-16 17:19:37 +00:00
florian
e2a4dac215 + i386 assembler versions of decr_ansistring and unique_ansistring
git-svn-id: trunk@1963 -
2005-12-15 19:51:57 +00:00
Jonas Maebe
31b173fe85 * always keep 1 free os chunk available in the freelist to avoid
a performance killing corner case where one block is constantly allocated
    and freed and can result in a redividing of an os chunk in small parts
    for each allocation

git-svn-id: trunk@1900 -
2005-12-07 20:01:15 +00:00
peter
f9f75b40e5 * fixed DUMPGROW compile
git-svn-id: trunk@1305 -
2005-10-06 05:57:58 +00:00
florian
4e6b371dc5 * patch from Martin Schreiber to fix bug #4247
git-svn-id: trunk@784 -
2005-08-03 19:55:06 +00:00
peter
1cecfcc09f * only all resizes for fixed blocks when the blocksize doesn't
change.
  * check the new size first if it fits in the fixed size range
    to prevent truncation of the size when the fixedsizemask is applied

git-svn-id: trunk@636 -
2005-07-16 20:17:24 +00:00
peter
822f7f0f16 * allow freemem nil
git-svn-id: trunk@499 -
2005-06-25 21:11:16 +00:00
michael
fccc19aa5c + Removed HASGETHEAPSTATUS HASGETFPCHEAPSTATUS defines
git-svn-id: trunk@311 -
2005-06-09 18:04:47 +00:00
michael
a775d3d487 + Removed HASCURRENCY VALUEGETMEM VALUEFREEMEM defines
git-svn-id: trunk@293 -
2005-06-09 17:33:22 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
florian
0d7aaab6b8 * patch from Ales Katona making the memory manager more
smart when releasing memory chunks back to the OS

git-svn-id: trunk@190 -
2005-06-04 10:53:38 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
fc977d3259 * check if there is enough room before concatting blocks in
systryresizemem()
2005-04-04 15:40:30 +00:00
Jonas Maebe
2426ecafc3 * fixed several warnings and notes about unused variables (mainly) or
uninitialised use of variables/function results (a few)
2005-03-25 22:53:39 +00:00
peter
ccf36c0afd * fix crash under win32 with previous reallocmem fix 2005-03-21 16:31:33 +00:00
peter
d7ae60a9e0 * fixed tryresizemem 2005-03-20 18:57:29 +00:00
peter
617bd39762 * fix getheapstatus bootstrapping 2005-03-04 16:49:34 +00:00
marco
28011bbfb0 * small typo fix on last commit 2005-03-02 14:25:19 +00:00
marco
190bd1ab34 * getfpcheapstatus now also on memmgr 2005-03-02 10:46:10 +00:00
marco
daf59fbd7e * getFPCheapstatus (no, FPC HEAP, not FP CHEAP!) 2005-02-28 15:38:38 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
2d1aee8e53 * allow Freemem(nil) 2005-01-30 11:56:29 +00:00
peter
2e52bf2824 * fixed overflow when reusing a memory block for fixed size chunks 2004-12-19 13:45:56 +00:00
peter
dac91ff361 * fix currheapused 2004-11-26 22:22:58 +00:00
peter
c38daf68eb * typo for GetHeapStatus 2004-11-22 22:26:21 +00:00
peter
a263b1d40e * GetHeapStatus added, removed MaxAvail,MemAvail,HeapSize 2004-11-22 19:34:58 +00:00
peter
869b0ecc85 * compiler defined HEAP and HEAPSIZE removed 2004-10-25 15:38:59 +00:00