Changeset 47022 in webkit for trunk/JavaScriptCore/runtime/JSArray.cpp
- Timestamp:
- Aug 10, 2009, 9:35:02 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/JSArray.cpp
r46598 r47022 1 1 /* 2 2 * Copyright (C) 1999-2000 Harri Porten ([email protected]) 3 * Copyright (C) 2003, 2007, 2008 Apple Inc. All rights reserved.3 * Copyright (C) 2003, 2007, 2008, 2009 Apple Inc. All rights reserved. 4 4 * Copyright (C) 2003 Peter Kelly ([email protected]) 5 5 * Copyright (C) 2006 Alexey Proskuryakov ([email protected]) … … 602 602 } 603 603 604 void JSArray::mark ()605 { 606 JSObject::mark ();604 void JSArray::markChildren(MarkStack& markStack) 605 { 606 JSObject::markChildren(markStack); 607 607 608 608 ArrayStorage* storage = m_storage; 609 609 610 610 unsigned usedVectorLength = min(storage->m_length, storage->m_vectorLength); 611 for (unsigned i = 0; i < usedVectorLength; ++i) { 612 JSValue value = storage->m_vector[i]; 613 if (value && !value.marked()) 614 value.mark(); 615 } 611 markStack.appendValues(storage->m_vector, usedVectorLength, MayContainNullValues); 616 612 617 613 if (SparseArrayValueMap* map = storage->m_sparseValueMap) { 618 614 SparseArrayValueMap::iterator end = map->end(); 619 for (SparseArrayValueMap::iterator it = map->begin(); it != end; ++it) { 620 JSValue value = it->second; 621 if (!value.marked()) 622 value.mark(); 623 } 615 for (SparseArrayValueMap::iterator it = map->begin(); it != end; ++it) 616 markStack.append(it->second); 624 617 } 625 618 }
Note:
See TracChangeset
for help on using the changeset viewer.