Changeset 74309 in webkit
- Timestamp:
- Dec 17, 2010 6:01:13 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r74308 r74309 1 2010-12-17 Michael Saboff <msaboff@apple.com> 2 3 Reviewed by Oliver Hunt. 4 5 RegExp Jit'ed expression crashes clicking link on yelp.com 6 https://bugs.webkit.org/show_bug.cgi?id=51284 7 8 When transitioning between an non-repeating beginning of line 9 anchored expression and the remaining refactored repeating 10 expression, we should not clear any residual datalabel in 11 state's m_backtrack. It will be resolved and cleared in subsequent 12 code when linkAlternativeBacktracks() is called for the repeating 13 alternative(s). 14 15 * yarr/RegexJIT.cpp: 16 (JSC::Yarr::RegexGenerator::BacktrackDestination::clear): 17 (JSC::Yarr::RegexGenerator::TermGenerationState::clearBacktrack): 18 1 19 2010-12-17 Dan Bernstein <mitz@apple.com> 2 20 -
trunk/JavaScriptCore/yarr/RegexJIT.cpp
r73962 r74309 487 487 } 488 488 489 void clear( )489 void clear(bool doDataLabelClear = true) 490 490 { 491 491 m_backtrackType = NoBacktrack; 492 clearDataLabel(); 492 if (doDataLabelClear) 493 clearDataLabel(); 493 494 m_nextBacktrack = 0; 494 495 } … … 868 869 void clearBacktrack() 869 870 { 870 m_backtrack.clear( );871 m_backtrack.clear(false); 871 872 m_linkedBacktrack = 0; 872 873 } -
trunk/LayoutTests/ChangeLog
r74305 r74309 1 2010-12-17 Michael Saboff <msaboff@apple.com> 2 3 Reviewed by Oliver Hunt. 4 5 RegExp Jit'ed expression crashes clicking link on yelp.com 6 https://bugs.webkit.org/show_bug.cgi?id=51284 7 8 New tests to validate changes made in regex JIT. 9 10 * fast/regex/parentheses-expected.txt: 11 * fast/regex/script-tests/parentheses.js: 12 1 13 2010-12-17 Jessie Berlin <jberlin@apple.com> 2 14 -
trunk/LayoutTests/fast/regex/parentheses-expected.txt
r73962 r74309 39 39 PASS regexp32.exec('Committer:') is null 40 40 PASS regexp33.exec('> <head>') is ['>',undefined,undefined,'>'] 41 PASS regexp34.exec('xyz123') is null 42 PASS regexp34.exec('btn-abc') is ['btn-abc'] 43 PASS regexp34.exec('btn- abc') is null 44 PASS regexp34.exec('XXbtn-abc') is null 45 PASS regexp34.exec('XX btn-abc') is ['btn-abc'] 41 46 PASS 'Hi Bob'.match(/(Rob)|(Bob)|(Robert)|(Bobby)/) is ['Bob',undefined,'Bob',undefined,undefined] 42 47 PASS successfullyParsed is true -
trunk/LayoutTests/fast/regex/script-tests/parentheses.js
r73962 r74309 141 141 shouldBe("regexp33.exec('> <head>')","['>',undefined,undefined,'>']"); 142 142 143 var regexp34 = /(?:^|\b)btn-\S+/; 144 shouldBeNull("regexp34.exec('xyz123')"); 145 shouldBe("regexp34.exec('btn-abc')","['btn-abc']"); 146 shouldBeNull("regexp34.exec('btn- abc')"); 147 shouldBeNull("regexp34.exec('XXbtn-abc')"); 148 shouldBe("regexp34.exec('XX btn-abc')","['btn-abc']"); 149 143 150 shouldBe("'Hi Bob'.match(/(Rob)|(Bob)|(Robert)|(Bobby)/)", "['Bob',undefined,'Bob',undefined,undefined]"); 144 151
Note: See TracChangeset
for help on using the changeset viewer.