me->pcs[numpcs++] = first;
if (first >= (char *)0x08000000 && first <= (char *)0x7fffffff) { me->pcs[numpcs++] = first; }
static void CrawlStack(malloc_log_entry* me, jmp_buf jb, char* first){#ifdef NTO  u_long* bp = (u_long*) (jb[0].__jmpbuf_un.__savearea[JB_BP]);#else  u_long* bp = (u_long*) (jb[0].__jmpbuf[JB_BP]);#endif  u_long numpcs = 0;#ifdef JPROF_PTHREAD_HACK  int skip = 3;#else  // This is a linux hack we have to do to figure out where the signal was  // called from  me->pcs[numpcs++] = first;  int skip = 3;#endif  while (numpcs < MAX_STACK_CRAWL) {    u_long* nextbp = (u_long*) *bp++;    u_long pc = *bp;#ifdef JPROF_PTHREAD_HACK    if ((pc < 0x08000000) || ((pc > 0x7fffffff) && (skip <= 0)) || (nextbp < bp)) {#else    if ((pc < 0x08000000) || (pc > 0x7fffffff) || (nextbp < bp)) {#endif      break;    }    if (--skip < 0) {      me->pcs[numpcs++] = (char*) pc;    }    bp = nextbp;  }  me->numpcs = numpcs;}