-
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