List::List() : _impBase(allocateListImp()) { ListImp *imp = static_cast<ListImp *>(_impBase); imp->size = 0; imp->refCount = 1; imp->capacity = 0; imp->data = imp->values; #if DUMP_STATISTICS if (++numLists > numListsHighWaterMark) numListsHighWaterMark = numLists; imp->sizeHighWaterMark = 0; #endif }
List::List() : _impBase(allocateListImp()), _needsMarking(false) { ListImp *imp = static_cast<ListImp *>(_impBase); imp->size = 0; imp->refCount = 1; imp->capacity = 0; imp->overflow = 0; if (!_needsMarking) { imp->valueRefCount = 1; } #if DUMP_STATISTICS if (++numLists > numListsHighWaterMark) numListsHighWaterMark = numLists; imp->sizeHighWaterMark = 0; #endif }