mixed:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz free:1048320 freenew:0
mixed:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz free:1048320 freechild:1048508
Child: 0
+lc:abcdefghijklmnopqrstuvwxyz uc:ABCDEFGHIJKLMNOPQRSTUVWXYZ free:1048500
+lc:abcdefghijklmnopqrstuvwxyz free:1048536
+uc:ABCDEFGHIJKLMNOPQRSTUVWXYZ free:1048500
+mixed:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz free:1048396
+mixed:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz free:1048396
+mixed:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz free:1048336
+mixed:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz free:1048336 freenew:0
+mixed:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz free:1048336 freechild:1048512
+Child: 0
usage() {
puts(
"Usage:\n"
- "memtest [-c COUNT [-t]]\n"
+ "memtest [-c COUNT [-t [-D]] [-s MAXSIZE]]\n"
);
exit(1);
}
-#define SZ 32
extern char *optarg;
extern int opterr;
int
main(int argn, char *argv[]) {
MemoryContext *base, *child;
- int i;
- int count=0, iscntx=0;
+ int i, SZ=32;
+ int count=0, iscntx=0, flags=0;
opentlog(TL_OPEN_STDERR,TL_DEBUG, NULL);
opterr=0;
- while((i=getopt(argn,argv,"c:ht")) != EOF) {
+ while((i=getopt(argn,argv,"s:Dc:ht")) != EOF) {
switch(i) {
+ case 's':
+ SZ=atoi(optarg);
+ break;
case 'c':
count=atoi(optarg);
break;
+ case 'D':
+ flags=MC_DEBUG;
+ break;
case 't':
iscntx=1;
break;
char *ptr, *ptr1;
/* test correctness */
- base = allocMemoryContext(NULL, MC_DEBUG);
- child = allocMemoryContext(base, MC_DEBUG);
+ base = allocMemoryContext(NULL, flags);
+ child = allocMemoryContext(base, flags);
ptr = mcalloc(base, 30);
for(i=0;i<26;i++)
freeMemoryContext(child);
printf("Child: %d\n", (int)(base->child));
- child = allocMemoryContext(base, MC_DEBUG);
+ child = allocMemoryContext(base, flags);
freeMemoryContext(base);
} else {
struct timeval begin;
srandom(1);
if ( iscntx ) {
gettimeofday(&begin, NULL);
- base = allocMemoryContext(NULL, MC_DEBUG);
+ base = allocMemoryContext(NULL, flags);
for(i=0;i<count;i++) {
ptr = mcalloc(base, 1+random()%SZ );
ptr1 = mcalloc(base, 1+random()%SZ );