Changeset 76407 in webkit
- Timestamp:
- Jan 21, 2011 3:52:29 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r76404 r76407 1 2011-01-21 Michael Saboff <msaboff@apple.com> 2 3 Reviewed by Oliver Hunt. 4 5 [RegexFuzz] Hang with forward assertion 6 https://bugs.webkit.org/show_bug.cgi?id=52825 7 <rdar://problem/8894332> 8 9 New tests to check for functionality and future regression. 10 11 * fast/regex/parentheses-expected.txt: 12 * fast/regex/script-tests/parentheses.js: 13 1 14 2011-01-21 Maciej Stachowiak <mjs@apple.com> 2 15 -
trunk/LayoutTests/fast/regex/parentheses-expected.txt
r76275 r76407 76 76 PASS regexp44.exec('SSS') is ['',undefined] 77 77 PASS regexp45.exec('vt') is null 78 PASS regexp46.exec('5') is null 79 PASS regexp46.exec('pk') is ['pk',undefined,undefined] 80 PASS regexp46.exec('Xw555') is ['w555','w',undefined] 81 PASS regexp46.exec('Xw55pk5') is ['w','w',''] 78 82 PASS 'Hi Bob'.match(/(Rob)|(Bob)|(Robert)|(Bobby)/) is ['Bob',undefined,'Bob',undefined,undefined] 79 83 PASS successfullyParsed is true -
trunk/LayoutTests/fast/regex/script-tests/parentheses.js
r76275 r76407 203 203 shouldBeNull("regexp45.exec('vt')"); 204 204 205 var regexp46 = /(w)(?:5{3}|())|pk/; 206 shouldBeNull("regexp46.exec('5')"); 207 shouldBe("regexp46.exec('pk')", "['pk',undefined,undefined]"); 208 shouldBe("regexp46.exec('Xw555')", "['w555','w',undefined]"); 209 shouldBe("regexp46.exec('Xw55pk5')", "['w','w','']"); 210 205 211 shouldBe("'Hi Bob'.match(/(Rob)|(Bob)|(Robert)|(Bobby)/)", "['Bob',undefined,'Bob',undefined,undefined]"); 206 212 -
trunk/Source/JavaScriptCore/ChangeLog
r76399 r76407 1 2011-01-21 Michael Saboff <msaboff@apple.com> 2 3 Reviewed by Oliver Hunt. 4 5 [RegexFuzz] Hang with forward assertion 6 https://bugs.webkit.org/show_bug.cgi?id=52825 7 <rdar://problem/8894332> 8 9 The backtrackTo label from the first term in a list of terms is 10 being overwritten by processing of subsequent terms. Changed 11 copyBacktrackToLabel() to check for an existing bcaktrackTo label 12 before copying and renamed it to propagateBacktrackToLabel() since 13 it no longer copies. 14 15 * yarr/YarrJIT.cpp: 16 (JSC::Yarr::YarrGenerator::BacktrackDestination::propagateBacktrackToLabel): 17 (JSC::Yarr::YarrGenerator::generateParenthesesSingle): 18 1 19 2011-01-21 Geoffrey Garen <ggaren@apple.com> 2 20 -
trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp
r76275 r76407 607 607 } 608 608 609 void copyBacktrackToLabel(BacktrackDestination& rhs)610 { 611 if ( rhs.m_backtrackToLabel)609 void propagateBacktrackToLabel(const BacktrackDestination& rhs) 610 { 611 if (!m_backtrackToLabel && rhs.m_backtrackToLabel) 612 612 m_backtrackToLabel = rhs.m_backtrackToLabel; 613 613 } … … 1662 1662 1663 1663 state.propagateBacktrackingFrom(this, parenthesesBacktrack); 1664 stateBacktrack. copyBacktrackToLabel(parenthesesBacktrack);1664 stateBacktrack.propagateBacktrackToLabel(parenthesesBacktrack); 1665 1665 1666 1666 m_expressionState.decrementParenNestingLevel();
Note: See TracChangeset
for help on using the changeset viewer.