JS_PUBLIC_API(uint32) JS_DHashTableEnumerate(JSDHashTable *table, JSDHashEnumerator etor, void *arg)
JS_PUBLIC_API(void *) JS_DHashAllocTable(JSDHashTable *table, uint32 nbytes)
JS_PUBLIC_API(uint32)JS_DHashTableEnumerate(JSDHashTable *table, JSDHashEnumerator etor, void *arg){    char *entryAddr;    uint32 i, j, n, entrySize;    JSDHashEntryHdr *entry;    JSDHashOperator op;    entryAddr = table->entryStore;    entrySize = table->entrySize;    n = JS_BIT(table->sizeLog2);    for (i = j = 0; i < n; i++) {        entry = (JSDHashEntryHdr *)entryAddr;        if (JS_DHASH_ENTRY_IS_BUSY(entry)) {            op = etor(table, entry, j++, arg);            if (op & JS_DHASH_REMOVE) {                table->ops->clearEntry(table, entry);                MARK_ENTRY_FREE(entry);                table->removedCount++;                table->entryCount--;            }            if (op & JS_DHASH_STOP)                return j;        }        entryAddr += entrySize;    }    return j;}