Bug 195840

Summary: [JSC] jsSubstring should resolve rope before calling JSRopeString::create
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: New BugsAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, ggaren, keith_miller, mark.lam, msaboff, saam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch ggaren: review+

Description Yusuke Suzuki 2019-03-15 18:07:57 PDT
[JSC] jsSubstring should resolve rope before calling JSRopeString::create
Comment 1 Yusuke Suzuki 2019-03-15 18:15:56 PDT
Created attachment 364895 [details]
Patch
Comment 2 Yusuke Suzuki 2019-03-15 18:23:44 PDT
Created attachment 364898 [details]
Patch
Comment 3 Yusuke Suzuki 2019-03-15 18:27:06 PDT
Created attachment 364899 [details]
Patch
Comment 4 Geoffrey Garen 2019-03-16 13:59:54 PDT
Comment on attachment 364899 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=364899&action=review

r=me

> Source/JavaScriptCore/ChangeLog:13
> +        We can find that a lot of substrings for length = 1 are allocated in RAMification regexp tests. This patch avoids creation of these

How much memory does this patch save?
Comment 5 Yusuke Suzuki 2019-03-17 15:14:20 PDT
Comment on attachment 364899 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=364899&action=review

>> Source/JavaScriptCore/ChangeLog:13
>> +        We can find that a lot of substrings for length = 1 are allocated in RAMification regexp tests. This patch avoids creation of these
> 
> How much memory does this patch save?

It shows (patched) 34938880 v.s. (tot) 36163584  in non-JIT regexp, 3.5%.
Comment 6 Yusuke Suzuki 2019-03-18 10:50:53 PDT
Committed r243081: <https://trac.webkit.org/changeset/243081>
Comment 7 Radar WebKit Bug Importer 2019-03-18 10:51:28 PDT
<rdar://problem/48984367>