Changeset 64146 in webkit for trunk/JavaScriptCore/yarr/RegexInterpreter.h
- Timestamp:
- Jul 27, 2010, 12:14:40 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/yarr/RegexInterpreter.h
r62677 r64146 33 33 #include <wtf/PassOwnPtr.h> 34 34 #include <wtf/unicode/Unicode.h> 35 36 namespace WTF { 37 class BumpPointerAllocator; 38 } 39 using WTF::BumpPointerAllocator; 35 40 36 41 namespace JSC { namespace Yarr { … … 294 299 295 300 struct BytecodePattern : FastAllocBase { 296 BytecodePattern(PassOwnPtr<ByteDisjunction> body, Vector<ByteDisjunction*> allParenthesesInfo, RegexPattern& pattern )301 BytecodePattern(PassOwnPtr<ByteDisjunction> body, Vector<ByteDisjunction*> allParenthesesInfo, RegexPattern& pattern, BumpPointerAllocator* allocator) 297 302 : m_body(body) 298 303 , m_ignoreCase(pattern.m_ignoreCase) 299 304 , m_multiline(pattern.m_multiline) 305 , m_allocator(allocator) 300 306 { 301 307 newlineCharacterClass = pattern.newlineCharacterClass(); … … 319 325 bool m_ignoreCase; 320 326 bool m_multiline; 321 327 // Each BytecodePattern is associated with a RegExp, each RegExp is associated 328 // with a JSGlobalData. Cache a pointer to out JSGlobalData's m_regexAllocator. 329 BumpPointerAllocator* m_allocator; 330 322 331 CharacterClass* newlineCharacterClass; 323 332 CharacterClass* wordcharCharacterClass; … … 327 336 }; 328 337 329 PassOwnPtr<BytecodePattern> byteCompileRegex(const UString& pattern, unsigned& numSubpatterns, const char*& error, bool ignoreCase = false, bool multiline = false);338 PassOwnPtr<BytecodePattern> byteCompileRegex(const UString& pattern, unsigned& numSubpatterns, const char*& error, BumpPointerAllocator*, bool ignoreCase = false, bool multiline = false); 330 339 int interpretRegex(BytecodePattern* v_regex, const UChar* input, unsigned start, unsigned length, int* output); 331 340
Note:
See TracChangeset
for help on using the changeset viewer.