Changeset 154426 in webkit for trunk/Source/JavaScriptCore/runtime/JSObject.cpp
- Timestamp:
- Aug 21, 2013, 4:10:38 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSObject.cpp
r154422 r154426 584 584 return; 585 585 586 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AddIndexedAccessors) , m_butterfly);586 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AddIndexedAccessors)); 587 587 588 588 if (!vm.prototypeMap.isPrototype(this)) … … 612 612 Butterfly* newButterfly = createInitialIndexedStorage(vm, length, sizeof(EncodedJSValue)); 613 613 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), AllocateUndecided); 614 set Butterfly(vm, newButterfly, newStructure);614 setStructureAndButterfly(vm, newStructure, newButterfly); 615 615 return newButterfly; 616 616 } … … 620 620 Butterfly* newButterfly = createInitialIndexedStorage(vm, length, sizeof(EncodedJSValue)); 621 621 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), AllocateInt32); 622 set Butterfly(vm, newButterfly, newStructure);622 setStructureAndButterfly(vm, newStructure, newButterfly); 623 623 return newButterfly->contiguousInt32(); 624 624 } … … 630 630 newButterfly->contiguousDouble()[i] = QNaN; 631 631 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), AllocateDouble); 632 set Butterfly(vm, newButterfly, newStructure);632 setStructureAndButterfly(vm, newStructure, newButterfly); 633 633 return newButterfly->contiguousDouble(); 634 634 } … … 638 638 Butterfly* newButterfly = createInitialIndexedStorage(vm, length, sizeof(EncodedJSValue)); 639 639 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), AllocateContiguous); 640 set Butterfly(vm, newButterfly, newStructure);640 setStructureAndButterfly(vm, newStructure, newButterfly); 641 641 return newButterfly->contiguous(); 642 642 } … … 658 658 result->m_indexBias = 0; 659 659 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), structure()->suggestedArrayStorageTransition()); 660 set Butterfly(vm, newButterfly, newStructure);660 setStructureAndButterfly(vm, newStructure, newButterfly); 661 661 return result; 662 662 } … … 670 670 { 671 671 ASSERT(hasUndecided(structure()->indexingType())); 672 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateInt32) , m_butterfly);672 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateInt32)); 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) , m_butterfly);683 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateDouble)); 684 684 return m_butterfly->contiguousDouble(); 685 685 } … … 688 688 { 689 689 ASSERT(hasUndecided(structure()->indexingType())); 690 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous) , m_butterfly);690 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous)); 691 691 return m_butterfly->contiguous(); 692 692 } … … 724 724 725 725 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), transition); 726 set Butterfly(vm, storage->butterfly(), newStructure);726 setStructureAndButterfly(vm, newStructure, storage->butterfly()); 727 727 return storage; 728 728 } … … 754 754 } 755 755 756 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateDouble) , m_butterfly);756 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateDouble)); 757 757 return m_butterfly->contiguousDouble(); 758 758 } … … 762 762 ASSERT(hasInt32(structure()->indexingType())); 763 763 764 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous) , m_butterfly);764 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous)); 765 765 return m_butterfly->contiguous(); 766 766 } … … 780 780 781 781 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), transition); 782 set Butterfly(vm, newStorage->butterfly(), newStructure);782 setStructureAndButterfly(vm, newStructure, newStorage->butterfly()); 783 783 return newStorage; 784 784 } … … 820 820 } 821 821 822 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous) , m_butterfly);822 setStructure(vm, Structure::nonPropertyTransition(vm, structure(), AllocateContiguous)); 823 823 return m_butterfly->contiguous(); 824 824 } … … 848 848 849 849 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), transition); 850 set Butterfly(vm, newStorage->butterfly(), newStructure);850 setStructureAndButterfly(vm, newStructure, newStorage->butterfly()); 851 851 return newStorage; 852 852 } … … 876 876 877 877 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), transition); 878 set Butterfly(vm, newStorage->butterfly(), newStructure);878 setStructureAndButterfly(vm, newStructure, newStorage->butterfly()); 879 879 return newStorage; 880 880 } … … 1118 1118 case ArrayWithArrayStorage: { 1119 1119 Structure* newStructure = Structure::nonPropertyTransition(vm, structure(), SwitchToSlowPutArrayStorage); 1120 setStructure(vm, newStructure , m_butterfly);1120 setStructure(vm, newStructure); 1121 1121 break; 1122 1122 } … … 1142 1142 1143 1143 Structure* newStructure = Structure::changePrototypeTransition(vm, structure(), prototype); 1144 setStructure(vm, newStructure , m_butterfly);1144 setStructure(vm, newStructure); 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) , m_butterfly);1201 setStructure(vm, Structure::attributeChangeTransition(vm, structure(), propertyName, attributes)); 1202 1202 1203 1203 if (attributes & ReadOnly) … … 1548 1548 return; 1549 1549 preventExtensions(vm); 1550 setStructure(vm, Structure::sealTransition(vm, structure()) , m_butterfly);1550 setStructure(vm, Structure::sealTransition(vm, structure())); 1551 1551 } 1552 1552 … … 1556 1556 return; 1557 1557 preventExtensions(vm); 1558 setStructure(vm, Structure::freezeTransition(vm, structure()) , m_butterfly);1558 setStructure(vm, Structure::freezeTransition(vm, structure())); 1559 1559 } 1560 1560 … … 1563 1563 enterDictionaryIndexingMode(vm); 1564 1564 if (isExtensible()) 1565 setStructure(vm, Structure::preventExtensionsTransition(vm, structure()) , m_butterfly);1565 setStructure(vm, Structure::preventExtensionsTransition(vm, structure())); 1566 1566 } 1567 1567 … … 1581 1581 1582 1582 if (!structure()->isUncacheableDictionary()) 1583 setStructure(vm, Structure::toUncacheableDictionaryTransition(vm, structure()) , m_butterfly);1583 setStructure(vm, Structure::toUncacheableDictionaryTransition(vm, structure())); 1584 1584 1585 1585 for (const ClassInfo* info = classInfo(); info; info = info->parentClass) { … … 1611 1611 } 1612 1612 1613 setStructure(vm, Structure::removePropertyTransition(vm, structure(), propertyName, offset) , m_butterfly);1613 setStructure(vm, Structure::removePropertyTransition(vm, structure(), propertyName, offset)); 1614 1614 if (offset == invalidOffset) 1615 1615 return false;
Note:
See TracChangeset
for help on using the changeset viewer.