Bug 129466

Summary: indexOf and lastIndexOf shouldn't resolve ropes when needle is longer than haystack
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: JavaScriptCoreAssignee: Ryosuke Niwa <rniwa>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, benjamin, fpizlo, ggaren, kling, oliver, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch msaboff: review+

Ryosuke Niwa
Reported 2014-02-27 20:38:21 PST
Right now indexOf and lastIndexOf always resolves ropes via JSString::toString. Just return -1 before resolving ropes when needle is longer than haystack.
Attachments
Patch (4.12 KB, patch)
2014-02-27 20:40 PST, Ryosuke Niwa
msaboff: review+
Radar WebKit Bug Importer
Comment 1 2014-02-27 20:39:04 PST
Radar WebKit Bug Importer
Comment 2 2014-02-27 20:39:07 PST
Ryosuke Niwa
Comment 3 2014-02-27 20:40:34 PST
Michael Saboff
Comment 4 2014-02-27 21:13:50 PST
Comment on attachment 225434 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=225434&action=review r=me > Source/JavaScriptCore/ChangeLog:8 > + Refactored the code to avoid calling toString on JSString when needle is longer than haystack. It is actually JSString::value that you are avoiding.
Ryosuke Niwa
Comment 5 2014-02-27 21:20:28 PST
Thanks for the review. (In reply to comment #4) > (From update of attachment 225434 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=225434&action=review > > r=me > > > Source/JavaScriptCore/ChangeLog:8 > > + Refactored the code to avoid calling toString on JSString when needle is longer than haystack. > > It is actually JSString::value that you are avoiding. Oops, yes. Will fix before landing it.
Ryosuke Niwa
Comment 6 2014-02-27 21:24:33 PST
Note You need to log in before you can comment on or make changes to this bug.