Skip to content
  • msaboff@apple.com's avatar
    2011-01-14 Michael Saboff <msaboff@apple.com> · 0fcfa8d1
    msaboff@apple.com authored
            Reviewed by Oliver Hunt.
    
            Incorrect backtracking for nested alternatives
            https://bugs.webkit.org/show_bug.cgi?id=52387
    
            Added tests to verfiy backtracking of alternatives following 
            parenthesis.
    
            * fast/regex/parentheses-expected.txt:
            * fast/regex/script-tests/parentheses.js:
    2011-01-14  Michael Saboff  <msaboff@apple.com>
    
            Reviewed by Oliver Hunt.
    
            Incorrect backtracking for nested alternatives
            https://bugs.webkit.org/show_bug.cgi?id=52387
    
            In the process of propigating a datalabel it wasn't getting connected
            to a destination when the destination was an indirect jump.  Added
            code to recognize a direct backtrack destination that was an indirect
            jump and added mechanism to associate DataLabelPtrs with indirect
            jump entries.
            Removed dead method
            BacktrackDestination::linkDataLabelToHereIfExists()
    
            * yarr/YarrJIT.cpp:
            (JSC::Yarr::YarrGenerator::IndirectJumpEntry::IndirectJumpEntry):
            (JSC::Yarr::YarrGenerator::IndirectJumpEntry::addDataLabel):
            (JSC::Yarr::YarrGenerator::GenerationState::addIndirectJumpEntry):
            (JSC::Yarr::YarrGenerator::GenerationState::emitIndirectJumpTable):
            Changes to link indirect jumps with DataLabelPtr's.
            (JSC::Yarr::YarrGenerator::BacktrackDestination::clearSubDataLabelPtr):
            (JSC::Yarr::YarrGenerator::TermGenerationState::linkDataLabelToBacktrackIfExists): 
            Updated to handle immediate linking of indirect jumps to
            DataLabelPtr.
            (JSC::Yarr::YarrGenerator::generateParenthesesDisjunction): Changed to
            reflect updated linkDataLabelToBacktrackIfExists().
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    0fcfa8d1