void js::ObjectImpl::copySlotRange(uint32_t start, const Value *vector, uint32_t length) { JS::Zone *zone = this->zone(); HeapSlot *fixedStart, *fixedEnd, *slotsStart, *slotsEnd; getSlotRange(start, length, &fixedStart, &fixedEnd, &slotsStart, &slotsEnd); for (HeapSlot *sp = fixedStart; sp < fixedEnd; sp++) sp->set(zone, this->asObjectPtr(), HeapSlot::Slot, start++, *vector++); for (HeapSlot *sp = slotsStart; sp < slotsEnd; sp++) sp->set(zone, this->asObjectPtr(), HeapSlot::Slot, start++, *vector++); }
void js::ObjectImpl::copySlotRange(uint32_t start, const Value *vector, uint32_t length) { JSCompartment *comp = compartment(); HeapSlot *fixedStart, *fixedEnd, *slotsStart, *slotsEnd; getSlotRange(start, length, &fixedStart, &fixedEnd, &slotsStart, &slotsEnd); for (HeapSlot *sp = fixedStart; sp < fixedEnd; sp++) sp->set(comp, this->asObjectPtr(), start++, *vector++); for (HeapSlot *sp = slotsStart; sp < slotsEnd; sp++) sp->set(comp, this->asObjectPtr(), start++, *vector++); }