Changeset 276005 in webkit for trunk/Source/JavaScriptCore/dfg/DFGDesiredTransitions.cpp
- Timestamp:
- Apr 15, 2021, 12:03:38 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGDesiredTransitions.cpp
r273138 r276005 36 36 namespace JSC { namespace DFG { 37 37 38 DesiredTransition::DesiredTransition(CodeBlock* codeBlock, CodeBlock* codeOriginOwner, Structure* oldStructure, Structure* newStructure) 39 : m_codeBlock(codeBlock) 40 , m_codeOriginOwner(codeOriginOwner) 38 DesiredTransition::DesiredTransition(CodeBlock* codeOriginOwner, Structure* oldStructure, Structure* newStructure) 39 : m_codeOriginOwner(codeOriginOwner) 41 40 , m_oldStructure(oldStructure) 42 41 , m_newStructure(newStructure) 43 42 { 44 }45 46 void DesiredTransition::reallyAdd(VM& vm, CommonData* common)47 {48 ConcurrentJSLocker locker(m_codeBlock->m_lock);49 common->transitions.append(50 WeakReferenceTransition(51 vm, m_codeBlock,52 m_codeOriginOwner,53 m_oldStructure, m_newStructure));54 43 } 55 44 … … 65 54 template void DesiredTransition::visitChildren(SlotVisitor&); 66 55 67 DesiredTransitions::DesiredTransitions() 56 DesiredTransitions::DesiredTransitions(CodeBlock* codeBlock) 57 : m_codeBlock(codeBlock) 68 58 { 69 59 } … … 73 63 } 74 64 75 void DesiredTransitions::addLazily(CodeBlock* code Block, CodeBlock* codeOriginOwner, Structure* oldStructure, Structure* newStructure)65 void DesiredTransitions::addLazily(CodeBlock* codeOriginOwner, Structure* oldStructure, Structure* newStructure) 76 66 { 77 m_transitions.append(DesiredTransition(code Block, codeOriginOwner, oldStructure, newStructure));67 m_transitions.append(DesiredTransition(codeOriginOwner, oldStructure, newStructure)); 78 68 } 79 69 80 70 void DesiredTransitions::reallyAdd(VM& vm, CommonData* common) 81 71 { 82 for (unsigned i = 0; i < m_transitions.size(); i++) 83 m_transitions[i].reallyAdd(vm, common); 72 FixedVector<WeakReferenceTransition> transitions(m_transitions.size()); 73 for (unsigned i = 0; i < m_transitions.size(); i++) { 74 auto& desiredTransition = m_transitions[i]; 75 transitions[i] = WeakReferenceTransition(vm, m_codeBlock, desiredTransition.m_codeOriginOwner, desiredTransition.m_oldStructure, desiredTransition.m_newStructure); 76 } 77 if (!transitions.isEmpty()) { 78 ConcurrentJSLocker locker(m_codeBlock->m_lock); 79 ASSERT(common->m_transitions.isEmpty()); 80 common->m_transitions = WTFMove(transitions); 81 } 84 82 } 85 83
Note:
See TracChangeset
for help on using the changeset viewer.