Changeset 154366 in webkit for trunk/Source/JavaScriptCore/runtime/JSObject.cpp
- Timestamp:
- Aug 20, 2013, 3:17:29 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSObject.cpp
r154337 r154366 584 584 return; 585 585 586 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AddIndexedAccessors) );586 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AddIndexedAccessors), m_butterfly); 587 587 588 588 if (!vm.prototypeMap.isPrototype(this)) … … 670 670 { 671 671 ASSERT(hasUndecided(structure()->indexingType())); 672 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateInt32) );672 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateInt32), m_butterfly); 673 673 return m_butterfly->contiguousInt32(); 674 674 } … … 681 681 m_butterfly->contiguousDouble()[i] = QNaN; 682 682 683 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateDouble) );683 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateDouble), m_butterfly); 684 684 return m_butterfly->contiguousDouble(); 685 685 } … … 688 688 { 689 689 ASSERT(hasUndecided(structure()->indexingType())); 690 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous) );690 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous), m_butterfly); 691 691 return m_butterfly->contiguous(); 692 692 } … … 754 754 } 755 755 756 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateDouble) );756 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateDouble), m_butterfly); 757 757 return m_butterfly->contiguousDouble(); 758 758 } … … 762 762 ASSERT(hasInt32(structure()->indexingType())); 763 763 764 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous) );764 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous), m_butterfly); 765 765 return m_butterfly->contiguous(); 766 766 } … … 820 820 } 821 821 822 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous) );822 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous), m_butterfly); 823 823 return m_butterfly->contiguous(); 824 824 } … … 1118 1118 case ArrayWithArrayStorage: { 1119 1119 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), SwitchToSlowPutArrayStorage); 1120 setStructure(vm, newStructure );1120 setStructure(vm, newStructure, m_butterfly); 1121 1121 break; 1122 1122 } … … 1142 1142 1143 1143 Structure* newStructure = Structure::changePrototypeTransition(vm, structure(), prototype); 1144 setStructure(vm, newStructure );1144 setStructure(vm, newStructure, m_butterfly); 1145 1145 1146 1146 if (!newStructure->anyObjectInChainMayInterceptIndexedAccesses()) … … 1199 1199 // if we override an existing non-getter or non-setter. 1200 1200 if (slot.type() != PutPropertySlot::NewProperty) 1201 setStructure(vm, Structure::attributeChangeTransition(vm, structure(), propertyName, attributes) );1201 setStructure(vm, Structure::attributeChangeTransition(vm, structure(), propertyName, attributes), m_butterfly); 1202 1202 1203 1203 if (attributes & ReadOnly) … … 1556 1556 return; 1557 1557 preventExtensions(vm); 1558 setStructure(vm, Structure::sealTransition(vm, structure()) );1558 setStructure(vm, Structure::sealTransition(vm, structure()), m_butterfly); 1559 1559 } 1560 1560 … … 1564 1564 return; 1565 1565 preventExtensions(vm); 1566 setStructure(vm, Structure::freezeTransition(vm, structure()) );1566 setStructure(vm, Structure::freezeTransition(vm, structure()), m_butterfly); 1567 1567 } 1568 1568 … … 1571 1571 enterDictionaryIndexingMode(vm); 1572 1572 if (isExtensible()) 1573 setStructure(vm, Structure::preventExtensionsTransition(vm, structure()) );1573 setStructure(vm, Structure::preventExtensionsTransition(vm, structure()), m_butterfly); 1574 1574 } 1575 1575 … … 1589 1589 1590 1590 if (!structure()->isUncacheableDictionary()) 1591 setStructure(vm, Structure::toUncacheableDictionaryTransition(vm, structure()) );1591 setStructure(vm, Structure::toUncacheableDictionaryTransition(vm, structure()), m_butterfly); 1592 1592 1593 1593 for (const ClassInfo* info = classInfo(); info; info = info->parentClass) { … … 1619 1619 } 1620 1620 1621 setStructure(vm, Structure::removePropertyTransition(vm, structure(), propertyName, offset) );1621 setStructure(vm, Structure::removePropertyTransition(vm, structure(), propertyName, offset), m_butterfly); 1622 1622 if (offset == invalidOffset) 1623 1623 return false;
Note:
See TracChangeset
for help on using the changeset viewer.