• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/JavaScriptCore-7537.78.1/runtime/

Lines Matching defs:storage

267     // NB. The fact that we're directly consulting our indexed storage implies that it is not
311 ArrayStorage* storage = thisObject->m_butterfly->arrayStorage();
312 if (i >= storage->length())
315 if (i < storage->vectorLength()) {
316 JSValue value = storage->m_vector[i].get();
321 } else if (SparseArrayValueMap* map = storage->m_sparseMap.get()) {
348 // valid indices will never look in the named property storage.
486 ArrayStorage* storage = thisObject->m_butterfly->arrayStorage();
488 if (propertyName >= storage->vectorLength())
491 WriteBarrier<Unknown>& valueSlot = storage->m_vector[propertyName];
492 unsigned length = storage->length();
497 storage->setLength(length);
498 ++storage->m_numValuesInVector;
500 ++storage->m_numValuesInVector;
508 ArrayStorage* storage = thisObject->m_butterfly->arrayStorage();
510 if (propertyName >= storage->vectorLength())
513 WriteBarrier<Unknown>& valueSlot = storage->m_vector[propertyName];
514 unsigned length = storage->length();
521 storage->setLength(length);
522 ++storage->m_numValuesInVector;
526 ++storage->m_numValuesInVector;
540 ArrayStorage* JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists(VM& vm, ArrayStorage* storage)
542 SparseArrayValueMap* map = storage->m_sparseMap.get();
548 return storage;
552 unsigned usedVectorLength = std::min(storage->length(), storage->vectorLength());
554 JSValue value = storage->m_vector[i].get();
561 Butterfly* newButterfly = storage->butterfly()->resizeArray(vm, structure(), 0, ArrayStorage::sizeFor(0));
734 ArrayStorage* storage = constructConvertedArrayStorageWithoutCopyingElements(vm, neededLength);
738 setButterfly(vm, storage->butterfly(), newStructure);
739 return storage;
1305 ArrayStorage* storage = thisObject->m_butterfly->arrayStorage();
1307 if (i < storage->vectorLength()) {
1308 WriteBarrier<Unknown>& valueSlot = storage->m_vector[i];
1311 --storage->m_numValuesInVector;
1313 } else if (SparseArrayValueMap* map = storage->m_sparseMap.get()) {
1442 // the normal storage.
1504 ArrayStorage* storage = object->m_butterfly->arrayStorage();
1506 unsigned usedVectorLength = std::min(storage->length(), storage->vectorLength());
1508 if (storage->m_vector[i])
1512 if (SparseArrayValueMap* map = storage->m_sparseMap.get()) {
1835 ArrayStorage* storage = current->arrayStorageOrNull();
1836 if (storage && storage->m_sparseMap) {
1837 SparseArrayValueMap::iterator iter = storage->m_sparseMap->find(i);
1838 if (iter != storage->m_sparseMap->notFound() && (iter->value.attributes & (Accessor | ReadOnly))) {
1839 iter->value.put(exec, thisValue, storage->m_sparseMap.get(), value, shouldThrow);
1912 void JSObject::putByIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, bool shouldThrow, ArrayStorage* storage)
1918 ASSERT(i >= storage->vectorLength());
1920 SparseArrayValueMap* map = storage->m_sparseMap.get();
1928 if (i >= storage->length())
1929 storage->setLength(i + 1);
1932 if (LIKELY(!indexIsSufficientlyBeyondLengthForSparseMap(i, storage->vectorLength())
1933 && isDenseEnoughForVector(i, storage->m_numValuesInVector)
1936 storage = arrayStorage();
1937 storage->m_vector[i].set(vm, this, value);
1938 ++storage->m_numValuesInVector;
1948 unsigned length = storage->length();
1957 storage->setLength(length);
1962 unsigned numValuesInArray = storage->m_numValuesInVector + map->size();
1969 storage = arrayStorage();
1970 storage->m_numValuesInVector = numValuesInArray;
1973 WriteBarrier<Unknown>* vector = storage->m_vector;
1982 ++storage->m_numValuesInVector;
2007 ArrayStorage* storage = createArrayStorage(vm, i + 1, getNewVectorLength(0, 0, i + 1));
2008 storage->m_vector[i].set(vm, this, value);
2009 storage->m_numValuesInVector++;
2056 bool JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage(ExecState* exec, unsigned i, JSValue value, unsigned attributes, PutDirectIndexMode mode, ArrayStorage* storage)
2062 ASSERT(arrayStorage() == storage);
2063 ASSERT(i >= storage->vectorLength() || attributes);
2066 SparseArrayValueMap* map = storage->m_sparseMap.get();
2074 if (i >= storage->length())
2075 storage->setLength(i + 1);
2080 && (isDenseEnoughForVector(i, storage->m_numValuesInVector))
2081 && !indexIsSufficientlyBeyondLengthForSparseMap(i, storage->vectorLength()))
2084 storage = arrayStorage();
2085 storage->m_vector[i].set(vm, this, value);
2086 ++storage->m_numValuesInVector;
2095 unsigned length = storage->length();
2105 storage->setLength(length);
2110 unsigned numValuesInArray = storage->m_numValuesInVector + map->size();
2115 storage = arrayStorage();
2116 storage->m_numValuesInVector = numValuesInArray;
2119 WriteBarrier<Unknown>* vector = storage->m_vector;
2128 ++storage->m_numValuesInVector;
2155 ArrayStorage* storage = createArrayStorage(vm, i + 1, getNewVectorLength(0, 0, i + 1));
2156 storage->m_vector[i].set(vm, this, value);
2157 storage->m_numValuesInVector++;
2323 ArrayStorage* storage = arrayStorage();
2326 && !isDenseEnoughForVector(newLength, storage->m_numValuesInVector))
2329 unsigned indexBias = storage->m_indexBias;
2330 unsigned vectorLength = storage->vectorLength();
2336 Butterfly* newButterfly = storage->butterfly()->growArrayRight(vm, structure(), structure()->outOfLineCapacity(), true, ArrayStorage::sizeFor(vectorLength), ArrayStorage::sizeFor(newVectorLength));
2346 Butterfly* newButterfly = storage->butterfly()->resizeArray(
2433 ArrayStorage* storage = object->m_butterfly->arrayStorage();
2434 if (i >= storage->length())
2436 if (i < storage->vectorLength()) {
2437 WriteBarrier<Unknown>& value = storage->m_vector[i];
2443 if (SparseArrayValueMap* map = storage->m_sparseMap.get()) {
2652 // If it's an array index, then use the indexed property storage.