Changeset 38839 in webkit for trunk/JavaScriptCore/wrec/WREC.cpp
- Timestamp:
- Nov 29, 2008, 3:10:35 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wrec/WREC.cpp
r38745 r38839 35 35 #include "pcre_internal.h" 36 36 37 #define __ assembler.38 39 37 using namespace WTF; 40 38 … … 44 42 static const int MaxPatternSize = (1 << 16); 45 43 46 CompiledRegExp compileRegExp(Interpreter* interpreter, const UString& pattern, unsigned* numSubpatterns_ptr, const char** error_ptr, bool ignoreCase, bool multiline)44 CompiledRegExp Generator::compileRegExp(Interpreter* interpreter, const UString& pattern, unsigned* numSubpatterns_ptr, const char** error_ptr, bool ignoreCase, bool multiline) 47 45 { 48 46 if (pattern.size() > MaxPatternSize) { … … 51 49 } 52 50 53 X86Assembler assembler(interpreter->assemblerBuffer()); 54 Parser parser(pattern, ignoreCase, multiline, assembler); 51 Parser parser(pattern, ignoreCase, multiline, interpreter->assemblerBuffer()); 55 52 Generator& generator = parser.generator(); 56 JmpSrcVectorfailures;53 MacroAssembler::JumpList failures; 57 54 58 55 generator.generateEnter(); 59 56 generator.generateSaveIndex(); 60 57 61 Generator::JmpDst beginPattern = __ label();58 Label beginPattern(&generator); 62 59 parser.parsePattern(failures); 63 60 generator.generateReturnSuccess(); 64 61 65 __ link(failures, __ label());62 failures.link(); 66 63 generator.generateIncrementIndex(); 67 64 generator.generateJumpIfEndOfInput(failures); … … 69 66 generator.generateReturnSuccess(); 70 67 71 __ link(failures, __ label());68 failures.link(); 72 69 generator.generateIncrementIndex(); 73 70 generator.generateJumpIfNotEndOfInput(beginPattern); … … 80 77 81 78 *numSubpatterns_ptr = parser.numSubpatterns(); 82 return reinterpret_cast<CompiledRegExp>( __ executableCopy());79 return reinterpret_cast<CompiledRegExp>(generator.copyCode()); 83 80 } 84 81
Note:
See TracChangeset
for help on using the changeset viewer.