From 591b42161c7fe70f89f8dac6c8afa6e6fb7cb1f8 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 3 Aug 2015 16:21:18 -0500 Subject: [PATCH] Signed-off-by: sparky4 --- DEBUG.16 | 8 -------- HEAP.16 | 30 ++++++++++++++---------------- MMDUMP.16 | Bin 114 -> 0 bytes exmmtest.exe | Bin 44168 -> 44280 bytes fmemtest.exe | Bin 13124 -> 13124 bytes src/lib/16_hc.c | 2 ++ src/lib/16_hc.h | 2 +- src/lib/16_mm.c | 36 +++++++++++++++++++++--------------- src/lib/16_mm.h | 1 + 9 files changed, 39 insertions(+), 40 deletions(-) delete mode 100644 DEBUG.16 delete mode 100644 MMDUMP.16 diff --git a/DEBUG.16 b/DEBUG.16 deleted file mode 100644 index 13e4d4d3..00000000 --- a/DEBUG.16 +++ /dev/null @@ -1,8 +0,0 @@ -0 Size:5194 Owner:0x0 -0 Size:5194 Owner:0x0 -144a Size:256 Owner:0x4d02 -Seg:154a Size:273 Owner:0x859a -Seg:1bd1 Size:17 Owner:0x144d -Seg:1bd1 Size:17 Owner:0x144d -1dd2 Size:49710 Owner:0x11 -Seg:e000 Size:4294909951 Owner:0xc22b diff --git a/HEAP.16 b/HEAP.16 index 96185784..abeb11d5 100644 --- a/HEAP.16 +++ b/HEAP.16 @@ -1,11 +1,10 @@ == default == - USED block at 1bd30016 of size 88 - USED block at 1bd3009e of size 42 - FREE block at 1bd300e0 of size 1f1e - USED block at 1bd31ffe of size 14 - FREE block at 1bd32012 of size 1fea + USED block at 1bda0016 of size 88 + USED block at 1bda009e of size 42 + USED block at 1bda00e0 of size 1f1e + FREE block at 1bda1ffe of size 1ffe OK - end of heap == near == @@ -27,19 +26,18 @@ OK - end of heap USED block at 0 of size 0 USED block at 0 of size 0 USED block at 0 of size 0 - USED block at 0 of size 0 OK - end of heap Memory Type Total Used Free ---------------- -------- -------- -------- -Default 16358 222 16136 -Near 31286 436 30850 -Far 16358 222 16136 +Default 16358 8168 8190 +Near 31286 31286 0 +Far 16358 8168 8190 ---------------- -------- -------- -------- -coreleft = 30848 -farcoreleft = 46788 -GetFreeSize = 15960 -GetNearFreeSize = 30850 -GetFarFreeSize = 15960 -memavl = 30848 -stackavail = 17135 +coreleft = 0 +farcoreleft = 7996 +GetFreeSize = 8014 +GetNearFreeSize = 0 +GetFarFreeSize = 8014 +memavl = 0 +stackavail = 17041 diff --git a/MMDUMP.16 b/MMDUMP.16 deleted file mode 100644 index b14aef4e442890ef3bc246fc885d88e55867cca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmXr0FfcGlwlXjjMFo*WjZ&;kQVfiMq70~_7N(Yo ZXljAxCL0+g0Y(3V)S8)^8k_QR0RSft7d8L@ diff --git a/exmmtest.exe b/exmmtest.exe index d3de90c1bbc9e4fcaa9c7ee895a6bae25ca790e3..d0846ef58cf2dc2e11c8d1d20a06cbb15ffa5c0e 100644 GIT binary patch delta 10763 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 delta 390 zcmW+yOGpAy6rFc<{8UasDp4?teoDmDwjfs-Lp&fA_x@eM~DnEjUo{uCL*~H?d9Tf;huBuJ@=%-sc`pFXcqNzr`#atcC=cf*WK8L z8uZdOj!=W7?J_!`BaU?o%94}L2b87LT^-2r35xIq@e*Bh4IpP4mT$|f-pRhuCzYWh zarb3V^I8G0w+QifP`po|Wk4&j!5hTWtbKv@0@^3N5qR(v8KVHv$A~SOjX)@gGm5uJ zGd*65)d0;T)!wNA9pX7qH0`5IN2a2fEggYj<>cAa-pUaiW z*7;e3t_@*}qXKtjNZwXSX*7mv!1X30xffffu) + if((word)seglength>0xffffu) { // segm=seglength/0x4000u; - segm=seglength/0xffffu; + segm=(word)seglength/0xffffu; } else segm=1; @@ -643,6 +643,7 @@ void MM_Startup(mminfo_t *mm, mminfotype *mmi) mm->mmstarted = true; mm->bombonerror = true; + mm->endid=0; // // set up the linked list (everything in the free list; @@ -807,7 +808,8 @@ void MM_GetPtr(memptr *baseptr,dword size, mminfo_t *mm, mminfotype *mmi) { mmblocktype huge *scan,huge *lastscan,huge *endscan,huge *purge,huge *next; int search; - unsigned needed,startseg; + dword needed; + word startseg; needed = (size+15)/16; // convert size from bytes to paragraphs printf("."); //0000 @@ -816,9 +818,9 @@ printf("."); //0000 mm->mmnew->useptr = baseptr; mm->mmnew->attributes = BASEATTRIBUTES; printf("."); //0000 - for(search = 0; search<3; search++) + for(search = 0; searchendid; search++) { -printf("|[case]"); //0000 +printf(" [case]"); //0000 // // first search: try to allocate right after the rover, then on up // second search: search from the head pointer up to the rover @@ -829,19 +831,19 @@ printf("|[case]"); //0000 switch(search) { case 0: -printf("0"); //0000 +printf("0 "); //0000 lastscan = mm->mmrover; scan = mm->mmrover->next; endscan = NULL; break; case 1: -printf("1"); //0000 +printf("1 "); //0000 lastscan = mm->mmhead; scan = mm->mmhead->next; endscan = mm->mmrover; break; case 2: -printf("2"); //0000 +printf("2 "); //0000 MM_SortMem(mm); lastscan = mm->mmhead; scan = mm->mmhead->next; @@ -849,14 +851,14 @@ printf("2"); //0000 break; } - startseg = lastscan->start + lastscan->length; + startseg = lastscan->start + (word)lastscan->length; while(scan != endscan) { -printf(","); //0000 +//printf(","); //0000 if(scan->start - startseg >= needed) { -printf("\\"); //0000 +printf("."); //0000 // // got enough space between the end of lastscan and // the start of scan, so throw out anything in the middle @@ -864,7 +866,7 @@ printf("\\"); //0000 // purge = lastscan->next; lastscan->next = mm->mmnew; - mm->mmnew->start = *(unsigned *)baseptr = startseg; + mm->mmnew->start = *(word *)baseptr = startseg; mm->mmnew->next = scan; while(purge != scan) { // free the purgable block @@ -883,12 +885,13 @@ printf(" freeing block~\n"); //0000 if((scan->attributes & LOCKBIT) || !(scan->attributes & PURGEBITS) ) { -printf("/[lock]"); //0000 +printf(" [lock] "); //0000 +printf("len=%lu ", scan->length); lastscan = scan; - startseg = lastscan->start + lastscan->length; + startseg = lastscan->start + (word)lastscan->length; } - +printf("\n"); scan=scan->next; // look at next line } } @@ -898,6 +901,7 @@ printf("/[lock]"); //0000 heapdump(); printf(OUT_OF_MEM_MSG,(size-mmi->nearheap)); printf("for stability reasons the program will shut down! wwww\n"); + printf(" endid=%u\n",(mm->endid)); MM_Shutdown(mm); exit(-1); } @@ -1566,6 +1570,7 @@ void MM_GetNewBlock(mminfo_t *mm) return; } mm->mmfree=mm->mmfree->next; + mm->endid++; //end of list } void MM_FreeBlock(mmblocktype *x, mminfo_t *mm) @@ -1573,6 +1578,7 @@ void MM_FreeBlock(mmblocktype *x, mminfo_t *mm) x->useptr=NULL; x->next=mm->mmfree; mm->mmfree=x; + mm->endid--; //end of list } void MM_seguin(void) diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 010a2626..575685c3 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -136,6 +136,7 @@ typedef struct unsigned totalEMSpages,freeEMSpages,EMSpageframe,EMSpagesmapped,EMShandle; unsigned int EMSVer; word numUMBs,UMBbase[MAXUMBS]; + word endid; //end of list //dword numUMBs,UMBbase[MAXUMBS]; mmblocktype huge mmblocks[MAXBLOCKS],huge *mmhead,huge *mmfree,huge *mmrover,huge *mmnew; } mminfo_t; -- 2.39.2