mh 124 user/lib/libc/stdlib/malloc.c #define M_NEXTOFF(mh) ((size_t)(((size_t)((mh)->mh_nextblock))<<MBLOCKSHIFT))
mh 125 user/lib/libc/stdlib/malloc.c #define M_PREVOFF(mh) ((size_t)(((size_t)((mh)->mh_prevblock))<<MBLOCKSHIFT))
mh 126 user/lib/libc/stdlib/malloc.c #define M_NEXT(mh) ((struct mheader *)(((char*)(mh))+M_NEXTOFF(mh)))
mh 127 user/lib/libc/stdlib/malloc.c #define M_PREV(mh) ((struct mheader *)(((char*)(mh))-M_PREVOFF(mh)))
mh 129 user/lib/libc/stdlib/malloc.c #define M_DATA(mh) ((void *)((mh)+1))
mh 130 user/lib/libc/stdlib/malloc.c #define M_SIZE(mh) (M_NEXTOFF(mh)-MBLOCKSIZE)
mh 132 user/lib/libc/stdlib/malloc.c #define M_OK(mh) ((mh)->mh_magic1==MMAGIC && (mh)->mh_magic2==MMAGIC)
mh 216 user/lib/libc/stdlib/malloc.c struct mheader *mh;
mh 223 user/lib/libc/stdlib/malloc.c for (i=__heapbase; i<__heaptop; i += M_NEXTOFF(mh)) {
mh 224 user/lib/libc/stdlib/malloc.c mh = (struct mheader *) i;
mh 225 user/lib/libc/stdlib/malloc.c if (!M_OK(mh)) {
mh 230 user/lib/libc/stdlib/malloc.c if (mh->mh_prevblock != rightprevblock) {
mh 235 user/lib/libc/stdlib/malloc.c (unsigned long) mh->mh_prevblock << MBLOCKSHIFT,
mh 238 user/lib/libc/stdlib/malloc.c rightprevblock = mh->mh_nextblock;
mh 242 user/lib/libc/stdlib/malloc.c (unsigned long) M_SIZE(mh),
mh 243 user/lib/libc/stdlib/malloc.c (unsigned long) (i+M_NEXTOFF(mh)),
mh 244 user/lib/libc/stdlib/malloc.c mh->mh_inuse ? "INUSE" : "FREE");
mh 292 user/lib/libc/stdlib/malloc.c __malloc_split(struct mheader *mh, size_t size)
mh 302 user/lib/libc/stdlib/malloc.c if (M_SIZE(mh) - size < 2*MBLOCKSIZE) {
mh 307 user/lib/libc/stdlib/malloc.c mhnext = M_NEXT(mh);
mh 309 user/lib/libc/stdlib/malloc.c oldsize = M_SIZE(mh);
mh 310 user/lib/libc/stdlib/malloc.c mh->mh_nextblock = M_MKFIELD(size + MBLOCKSIZE);
mh 312 user/lib/libc/stdlib/malloc.c mhnew = M_NEXT(mh);
mh 335 user/lib/libc/stdlib/malloc.c struct mheader *mh;
mh 362 user/lib/libc/stdlib/malloc.c for (i=__heapbase; i<__heaptop; i += M_NEXTOFF(mh)) {
mh 363 user/lib/libc/stdlib/malloc.c mh = (struct mheader *) i;
mh 364 user/lib/libc/stdlib/malloc.c if (!M_OK(mh)) {
mh 369 user/lib/libc/stdlib/malloc.c if (mh->mh_prevblock != rightprevblock) {
mh 374 user/lib/libc/stdlib/malloc.c (unsigned long) mh->mh_prevblock << MBLOCKSHIFT,
mh 377 user/lib/libc/stdlib/malloc.c rightprevblock = mh->mh_nextblock;
mh 380 user/lib/libc/stdlib/malloc.c if (mh->mh_inuse) {
mh 385 user/lib/libc/stdlib/malloc.c if (M_SIZE(mh) < size) {
mh 390 user/lib/libc/stdlib/malloc.c __malloc_split(mh, size);
mh 395 user/lib/libc/stdlib/malloc.c mh->mh_inuse = 1;
mh 398 user/lib/libc/stdlib/malloc.c warnx("malloc: allocating at %p", M_DATA(mh));
mh 401 user/lib/libc/stdlib/malloc.c return M_DATA(mh);
mh 411 user/lib/libc/stdlib/malloc.c mh = __malloc_sbrk(size + MBLOCKSIZE);
mh 412 user/lib/libc/stdlib/malloc.c if (mh == NULL) {
mh 416 user/lib/libc/stdlib/malloc.c mh->mh_prevblock = rightprevblock;
mh 417 user/lib/libc/stdlib/malloc.c mh->mh_magic1 = MMAGIC;
mh 418 user/lib/libc/stdlib/malloc.c mh->mh_magic2 = MMAGIC;
mh 419 user/lib/libc/stdlib/malloc.c mh->mh_pad = 0;
mh 420 user/lib/libc/stdlib/malloc.c mh->mh_inuse = 1;
mh 421 user/lib/libc/stdlib/malloc.c mh->mh_nextblock = M_MKFIELD(size + MBLOCKSIZE);
mh 424 user/lib/libc/stdlib/malloc.c warnx("malloc: allocating at %p", M_DATA(mh));
mh 427 user/lib/libc/stdlib/malloc.c return M_DATA(mh);
mh 452 user/lib/libc/stdlib/malloc.c __malloc_trymerge(struct mheader *mh, struct mheader *mhnext)
mh 456 user/lib/libc/stdlib/malloc.c if (mh->mh_nextblock != mhnext->mh_prevblock) {
mh 458 user/lib/libc/stdlib/malloc.c mh, mhnext);
mh 460 user/lib/libc/stdlib/malloc.c if (mh->mh_inuse || mhnext->mh_inuse) {
mh 467 user/lib/libc/stdlib/malloc.c mh->mh_nextblock = M_MKFIELD(MBLOCKSIZE + M_SIZE(mh) +
mh 471 user/lib/libc/stdlib/malloc.c mhnextnext->mh_prevblock = mh->mh_nextblock;
mh 484 user/lib/libc/stdlib/malloc.c struct mheader *mh, *mhnext, *mhprev;
mh 508 user/lib/libc/stdlib/malloc.c mh = ((struct mheader *)x)-1;
mh 509 user/lib/libc/stdlib/malloc.c if (!M_OK(mh)) {
mh 513 user/lib/libc/stdlib/malloc.c if (!mh->mh_inuse) {
mh 518 user/lib/libc/stdlib/malloc.c mh->mh_inuse = 0;
mh 521 user/lib/libc/stdlib/malloc.c __malloc_deadbeef(M_DATA(mh), M_SIZE(mh));
mh 524 user/lib/libc/stdlib/malloc.c mhnext = M_NEXT(mh);
mh 526 user/lib/libc/stdlib/malloc.c __malloc_trymerge(mh, mhnext);
mh 530 user/lib/libc/stdlib/malloc.c if (mh != (struct mheader *)__heapbase) {
mh 531 user/lib/libc/stdlib/malloc.c mhprev = M_PREV(mh);
mh 532 user/lib/libc/stdlib/malloc.c __malloc_trymerge(mhprev, mh);