try to avoid the need to sync cache_first_available_item with cache_unused_stack