JS_InitArenaPool(JSArenaPool *pool, const char *name, size_t size, size_t align)
JS_ArenaShutDown(void)
JS_PUBLIC_API(void)JS_InitArenaPool(JSArenaPool *pool, const char *name, size_t size, size_t align){#ifdef JS_THREADSAFE    /* Must come through here once in primordial thread to init safely! */    if (!arena_freelist_lock) {        arena_freelist_lock = JS_NEW_LOCK();        JS_ASSERT(arena_freelist_lock);    }#endif    if (align == 0)        align = JS_ARENA_DEFAULT_ALIGN;    pool->mask = JS_BITMASK(JS_CeilingLog2(align));    pool->first.next = NULL;    pool->first.base = pool->first.avail = pool->first.limit =        JS_ARENA_ALIGN(pool, &pool->first + 1);    pool->current = &pool->first;    pool->arenasize = size;#ifdef JS_ARENAMETER    memset(&pool->stats, 0, sizeof pool->stats);    pool->stats.name = strdup(name);    pool->stats.next = arena_stats_list;    arena_stats_list = &pool->stats;#endif}