Changeset 143018 in webkit for trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h
- Timestamp:
- Feb 15, 2013, 10:56:27 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h
r127191 r143018 338 338 WTF_MAKE_FAST_ALLOCATED; 339 339 public: 340 BytecodePattern(PassOwnPtr<ByteDisjunction> body, Vector< ByteDisjunction*> allParenthesesInfo, YarrPattern& pattern, BumpPointerAllocator* allocator)340 BytecodePattern(PassOwnPtr<ByteDisjunction> body, Vector<OwnPtr<ByteDisjunction> >& parenthesesInfoToAdopt, YarrPattern& pattern, BumpPointerAllocator* allocator) 341 341 : m_body(body) 342 342 , m_ignoreCase(pattern.m_ignoreCase) … … 344 344 , m_allocator(allocator) 345 345 { 346 m_body->terms.shrinkToFit(); 347 346 348 newlineCharacterClass = pattern.newlineCharacterClass(); 347 349 wordcharCharacterClass = pattern.wordcharCharacterClass(); 348 350 349 m_allParenthesesInfo.append(allParenthesesInfo); 350 m_userCharacterClasses.append(pattern.m_userCharacterClasses); 351 // 'Steal' the YarrPattern's CharacterClasses! We clear its 352 // array, so that it won't delete them on destruction. We'll 353 // take responsibility for that. 354 pattern.m_userCharacterClasses.clear(); 355 } 356 357 ~BytecodePattern() 358 { 359 deleteAllValues(m_allParenthesesInfo); 360 deleteAllValues(m_userCharacterClasses); 351 m_allParenthesesInfo.swap(parenthesesInfoToAdopt); 352 m_allParenthesesInfo.shrinkToFit(); 353 354 m_userCharacterClasses.swap(pattern.m_userCharacterClasses); 355 m_userCharacterClasses.shrinkToFit(); 361 356 } 362 357 … … 372 367 373 368 private: 374 Vector< ByteDisjunction*> m_allParenthesesInfo;375 Vector< CharacterClass*> m_userCharacterClasses;369 Vector<OwnPtr<ByteDisjunction> > m_allParenthesesInfo; 370 Vector<OwnPtr<CharacterClass> > m_userCharacterClasses; 376 371 }; 377 372
Note:
See TracChangeset
for help on using the changeset viewer.