Lines Matching refs:stack
561 static bool allocMarkStack(GcMarkStack *stack, size_t maximumSize) in allocMarkStack() argument
566 assert(stack != NULL); in allocMarkStack()
567 stack->length = maximumSize * sizeof(Object*) / in allocMarkStack()
569 addr = dvmAllocRegion(stack->length, PROT_READ | PROT_WRITE, name); in allocMarkStack()
573 stack->base = (const Object **)addr; in allocMarkStack()
574 stack->limit = (const Object **)((char *)addr + stack->length); in allocMarkStack()
575 stack->top = NULL; in allocMarkStack()
576 madvise(stack->base, stack->length, MADV_DONTNEED); in allocMarkStack()
580 static void freeMarkStack(GcMarkStack *stack) in freeMarkStack() argument
582 assert(stack != NULL); in freeMarkStack()
583 munmap(stack->base, stack->length); in freeMarkStack()
584 memset(stack, 0, sizeof(*stack)); in freeMarkStack()
680 if (!allocMarkStack(&gcHeap->markContext.stack, hs->maximumSize)) { in dvmHeapSourceStartup()
750 freeMarkStack(&(*gcHeap)->markContext.stack); in dvmHeapSourceShutdown()