|
Lines 208-213
Structure::Structure(VM& vm, JSGlobalObj
Source/JavaScriptCore/runtime/Structure.cpp_sec1
|
| 208 |
setStaticFunctionsReified(false); |
208 |
setStaticFunctionsReified(false); |
| 209 |
setHasRareData(false); |
209 |
setHasRareData(false); |
| 210 |
setTransitionWatchpointIsLikelyToBeFired(false); |
210 |
setTransitionWatchpointIsLikelyToBeFired(false); |
|
|
211 |
setHasBeenDictionary(false); |
| 211 |
|
212 |
|
| 212 |
ASSERT(inlineCapacity <= JSFinalObject::maxInlineCapacity()); |
213 |
ASSERT(inlineCapacity <= JSFinalObject::maxInlineCapacity()); |
| 213 |
ASSERT(static_cast<PropertyOffset>(inlineCapacity) < firstOutOfLineOffset); |
214 |
ASSERT(static_cast<PropertyOffset>(inlineCapacity) < firstOutOfLineOffset); |
|
Lines 239-244
Structure::Structure(VM& vm)
Source/JavaScriptCore/runtime/Structure.cpp_sec2
|
| 239 |
setStaticFunctionsReified(false); |
240 |
setStaticFunctionsReified(false); |
| 240 |
setHasRareData(false); |
241 |
setHasRareData(false); |
| 241 |
setTransitionWatchpointIsLikelyToBeFired(false); |
242 |
setTransitionWatchpointIsLikelyToBeFired(false); |
|
|
243 |
setHasBeenDictionary(false); |
| 242 |
|
244 |
|
| 243 |
TypeInfo typeInfo = TypeInfo(CellType, StructureFlags); |
245 |
TypeInfo typeInfo = TypeInfo(CellType, StructureFlags); |
| 244 |
m_blob = StructureIDBlob(vm.heap.structureIDTable().allocateID(this), 0, typeInfo); |
246 |
m_blob = StructureIDBlob(vm.heap.structureIDTable().allocateID(this), 0, typeInfo); |
|
Lines 268-273
Structure::Structure(VM& vm, Structure*
Source/JavaScriptCore/runtime/Structure.cpp_sec3
|
| 268 |
setDidTransition(true); |
270 |
setDidTransition(true); |
| 269 |
setStaticFunctionsReified(previous->staticFunctionsReified()); |
271 |
setStaticFunctionsReified(previous->staticFunctionsReified()); |
| 270 |
setHasRareData(false); |
272 |
setHasRareData(false); |
|
|
273 |
setHasBeenDictionary(previous->hasBeenDictionary()); |
| 271 |
|
274 |
|
| 272 |
TypeInfo typeInfo = previous->typeInfo(); |
275 |
TypeInfo typeInfo = previous->typeInfo(); |
| 273 |
m_blob = StructureIDBlob(vm.heap.structureIDTable().allocateID(this), previous->indexingTypeIncludingHistory(), typeInfo); |
276 |
m_blob = StructureIDBlob(vm.heap.structureIDTable().allocateID(this), previous->indexingTypeIncludingHistory(), typeInfo); |
|
Lines 537-543
Structure* Structure::toDictionaryTransi
Source/JavaScriptCore/runtime/Structure.cpp_sec4
|
| 537 |
transition->m_offset = structure->m_offset; |
540 |
transition->m_offset = structure->m_offset; |
| 538 |
transition->setDictionaryKind(kind); |
541 |
transition->setDictionaryKind(kind); |
| 539 |
transition->pin(); |
542 |
transition->pin(); |
| 540 |
transition->setTransitionWatchpointIsLikelyToBeFired(true); |
543 |
transition->setHasBeenDictionary(true); |
| 541 |
|
544 |
|
| 542 |
transition->checkOffsetConsistency(); |
545 |
transition->checkOffsetConsistency(); |
| 543 |
return transition; |
546 |
return transition; |
|
Lines 1156-1161
void Structure::dump(PrintStream& out) c
Source/JavaScriptCore/runtime/Structure.cpp_sec5
|
| 1156 |
|
1159 |
|
| 1157 |
switch (dictionaryKind()) { |
1160 |
switch (dictionaryKind()) { |
| 1158 |
case NoneDictionaryKind: |
1161 |
case NoneDictionaryKind: |
|
|
1162 |
if (hasBeenDictionary()) |
| 1163 |
out.print(", Has been dictionary"); |
| 1159 |
break; |
1164 |
break; |
| 1160 |
case CachedDictionaryKind: |
1165 |
case CachedDictionaryKind: |
| 1161 |
out.print(", Dictionary"); |
1166 |
out.print(", Dictionary"); |
|
Lines 1164-1169
void Structure::dump(PrintStream& out) c
Source/JavaScriptCore/runtime/Structure.cpp_sec6
|
| 1164 |
out.print(", UncacheableDictionary"); |
1169 |
out.print(", UncacheableDictionary"); |
| 1165 |
break; |
1170 |
break; |
| 1166 |
} |
1171 |
} |
|
|
1172 |
|
| 1173 |
if (transitionWatchpointSetIsStillValid()) |
| 1174 |
out.print(", Leaf"); |
| 1175 |
else if (transitionWatchpointIsLikelyToBeFired()) |
| 1176 |
out.print(", Shady leaf"); |
| 1167 |
|
1177 |
|
| 1168 |
out.print("]"); |
1178 |
out.print("]"); |
| 1169 |
} |
1179 |
} |