void MarkedArgumentBuffer::markLists(MarkStack& markStack, ListSet& markSet) { ListSet::iterator end = markSet.end(); for (ListSet::iterator it = markSet.begin(); it != end; ++it) { MarkedArgumentBuffer* list = *it; markStack.appendValues(reinterpret_cast<JSValue*>(list->m_buffer), list->m_size); } }
void MarkedArgumentBuffer::markLists(HeapRootMarker& heapRootMarker, ListSet& markSet) { ListSet::iterator end = markSet.end(); for (ListSet::iterator it = markSet.begin(); it != end; ++it) { MarkedArgumentBuffer* list = *it; heapRootMarker.mark(reinterpret_cast<JSValue*>(list->m_buffer), list->m_size); } }
void MarkedArgumentBuffer::markLists(HeapRootVisitor& heapRootVisitor, ListSet& markSet) { ListSet::iterator end = markSet.end(); for (ListSet::iterator it = markSet.begin(); it != end; ++it) { MarkedArgumentBuffer* list = *it; for (int i = 0; i < list->m_size; ++i) heapRootVisitor.visit(reinterpret_cast<JSValue*>(&list->slotFor(i))); } }
void ArgList::markLists(ListSet& markSet) { ListSet::iterator end = markSet.end(); for (ListSet::iterator it = markSet.begin(); it != end; ++it) { ArgList* list = *it; iterator end2 = list->end(); for (iterator it2 = list->begin(); it2 != end2; ++it2) if (!(*it2).marked()) (*it2).mark(); } }
void ArgList::markLists(ListSet& markSet) { ListSet::iterator end = markSet.end(); for (ListSet::iterator it = markSet.begin(); it != end; ++it) { ArgList* list = *it; iterator end2 = list->end(); for (iterator it2 = list->begin(); it2 != end2; ++it2) { JSValue* v = *it2; if (!v->marked()) v->mark(); } } }
uint64_t set_hash(const ListSet<short>& val) { // if the val is single && integer then just return the value if (val.size() == 1) { return val.first(); } ListSet<short>::iterator iter = val.begin(); ListSet<short>::iterator end = val.end(); std::stringstream buffer; for (; iter != end; ++iter) { buffer << *iter; buffer << ":"; } return get_sign64(buffer.str().c_str(), buffer.str().length() - 1); }
TableSortIndex::TableSortIndex(bool desc, TableConfig* config, ListSet<short>& unique, ListSet<short>& sort) : TableBaseIndex(config, unique) , _sort_items(NULL) , max_item(NULL) , min_item(NULL) { _type = INDEX_SORT; unique_keys = unique; sort_keys = sort; max_item = new TinyTableItem(config, TinyTableItem::max(config)); min_item = new TinyTableItem(config, TinyTableItem::min(config)); ListSet<short>::iterator iter = sort.begin(); ListSet<short>::iterator end = sort.end(); for (; iter != end; ++iter) { _cols.insert(*iter); } if (desc) { _sort_items = new AtomicSortmap<TinyTableItem*>(desc, true, (void*)CompareTableItem, (void*)this, &min_item); } else { _sort_items = new AtomicSortmap<TinyTableItem*>(desc, true, (void*)CompareTableItem, (void*)this, &max_item); } }