Lines Matching refs:stack
518 static bool allocMarkStack(GcMarkStack *stack, size_t maximumSize) in allocMarkStack() argument
523 assert(stack != NULL); in allocMarkStack()
524 stack->length = maximumSize * sizeof(Object*) / in allocMarkStack()
526 addr = dvmAllocRegion(stack->length, PROT_READ | PROT_WRITE, name); in allocMarkStack()
530 stack->base = (const Object **)addr; in allocMarkStack()
531 stack->limit = (const Object **)((char *)addr + stack->length); in allocMarkStack()
532 stack->top = NULL; in allocMarkStack()
533 madvise(stack->base, stack->length, MADV_DONTNEED); in allocMarkStack()
537 static void freeMarkStack(GcMarkStack *stack) in freeMarkStack() argument
539 assert(stack != NULL); in freeMarkStack()
540 munmap(stack->base, stack->length); in freeMarkStack()
541 memset(stack, 0, sizeof(*stack)); in freeMarkStack()
633 if (!allocMarkStack(&gcHeap->markContext.stack, hs->maximumSize)) { in dvmHeapSourceStartup()
703 freeMarkStack(&(*gcHeap)->markContext.stack); in dvmHeapSourceShutdown()