Lines Matching refs:usable_arenas
941 * doubly-linked `usable_arenas` list, which is maintained in
1120 usable_arenas
1148 static struct arena_object* usable_arenas = NULL;
1176 * `usable_arenas` to the return value.
1220 assert(usable_arenas == NULL);
1444 if (usable_arenas == NULL) {
1451 usable_arenas = new_arena();
1452 if (usable_arenas == NULL) {
1455 usable_arenas->nextarena =
1456 usable_arenas->prevarena = NULL;
1458 assert(usable_arenas->address != 0);
1461 pool = usable_arenas->freepools;
1464 usable_arenas->freepools = pool->nextpool;
1469 * usable_arenas list. However, if the arena has
1471 * arena_object from usable_arenas.
1473 --usable_arenas->nfreepools;
1474 if (usable_arenas->nfreepools == 0) {
1476 assert(usable_arenas->freepools == NULL);
1477 assert(usable_arenas->nextarena == NULL ||
1478 usable_arenas->nextarena->prevarena ==
1479 usable_arenas);
1481 usable_arenas = usable_arenas->nextarena;
1482 if (usable_arenas != NULL) {
1483 usable_arenas->prevarena = NULL;
1484 assert(usable_arenas->address != 0);
1493 assert(usable_arenas->freepools != NULL ||
1494 usable_arenas->pool_address <=
1495 (block*)usable_arenas->address +
1533 assert(usable_arenas->nfreepools > 0);
1534 assert(usable_arenas->freepools == NULL);
1535 pool = (poolp)usable_arenas->pool_address;
1536 assert((block*)pool <= (block*)usable_arenas->address +
1538 pool->arenaindex = (uint)(usable_arenas - arenas);
1539 assert(&arenas[pool->arenaindex] == usable_arenas);
1541 usable_arenas->pool_address += POOL_SIZE;
1542 --usable_arenas->nfreepools;
1544 if (usable_arenas->nfreepools == 0) {
1545 assert(usable_arenas->nextarena == NULL ||
1546 usable_arenas->nextarena->prevarena ==
1547 usable_arenas);
1549 usable_arenas = usable_arenas->nextarena;
1550 if (usable_arenas != NULL) {
1551 usable_arenas->prevarena = NULL;
1552 assert(usable_arenas->address != 0);
1699 * add the arena back to the `usable_arenas` list.
1702 * restore that usable_arenas is sorted in order of
1707 /* Case 1. First unlink ao from usable_arenas.
1715 * usable_arenas pointer.
1718 usable_arenas = ao->nextarena;
1719 assert(usable_arenas == NULL ||
1720 usable_arenas->address != 0);
1750 * usable_arenas. Note that because
1752 * currently on the usable_arenas list.
1754 ao->nextarena = usable_arenas;
1756 if (usable_arenas)
1757 usable_arenas->prevarena = ao;
1758 usable_arenas = ao;
1759 assert(usable_arenas->address != 0);
1779 * First unlink ao from usable_arenas.
1788 assert(usable_arenas == ao);
1789 usable_arenas = ao->nextarena;
1814 assert((usable_arenas == ao && ao->prevarena == NULL)