Changeset 38641 in webkit for trunk/JavaScriptCore/wrec/WREC.cpp


Ignore:
Timestamp:
Nov 20, 2008, 4:23:34 PM (17 years ago)
Author:
[email protected]
Message:

2008-11-20 Geoffrey Garen <[email protected]>

Reviewed by Sam Weinig.

A little more RegExp refactoring.


Created a helper function in the assembler for linking a vector of
JmpSrc to a location, and deployed it in a bunch of places.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/X86Assembler.h: (JSC::X86Assembler::link):
  • wrec/WREC.cpp: (JSC::WREC::compileRegExp):
  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateNonGreedyQuantifier): (JSC::WREC::Generator::generateGreedyQuantifier): (JSC::WREC::Generator::generateCharacterClassInverted): (JSC::WREC::Generator::generateParentheses): (JSC::WREC::Generator::generateParenthesesResetTrampoline): (JSC::WREC::Generator::generateAssertionBOL): (JSC::WREC::Generator::generateAssertionEOL): (JSC::WREC::Generator::generateAssertionWordBoundary): (JSC::WREC::Generator::terminateAlternative): (JSC::WREC::Generator::terminateDisjunction):
  • wrec/WRECParser.cpp:
  • wrec/WRECParser.h: (JSC::WREC::Parser::consumeHex):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/wrec/WREC.cpp

    r38621 r38641  
    5050static const int outputParameter = 16;
    5151#endif
    52                    
     52
    5353CompiledRegExp compileRegExp(Interpreter* interpreter, const UString& pattern, unsigned* numSubpatterns_ptr, const char** error_ptr, bool ignoreCase, bool multiline)
    5454{
     
    9999   
    100100    // (3) Failure:
    101     //     All top-level failures link to here.
    102     Generator::JmpDst failure = __ label();
    103     for (unsigned i = 0; i < failures.size(); ++i)
    104         __ link(failures[i], failure);
    105     failures.clear();
     101    //     All failures in the top-level disjunction link to here.
     102    __ link(failures, __ label());
    106103
    107104    // Move to the next input character and try again.
Note: See TracChangeset for help on using the changeset viewer.