Bug 201702

Summary: [JSC] SamplingProfiler should recognize RegExp execution
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: JavaScriptCoreAssignee: Yusuke Suzuki <ysuzuki>
Severity: Normal CC: annulen, ews-watchlist, gyuyoung.kim, joepeck, keith_miller, mark.lam, msaboff, ryuan.choi, sbarati, sergio, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Description Flags
Patch sbarati: review+

Description Yusuke Suzuki 2019-09-11 15:41:37 PDT
Simply to investigate what RegExp is taking long time in several JetStream2 benchmarks.
Comment 1 Radar WebKit Bug Importer 2019-09-11 15:42:14 PDT
Comment 2 Yusuke Suzuki 2019-09-13 02:43:57 PDT
After looking into the current SamplingProfiler and RegExp code, I think maybe, we should take a very simple way that is previously done in the previous patch because,

1. Yarr RegExp JIT code is not following JS calling-convention right now. And if we want to do that, we need to execute Yarr RegExp through LLInt vmEntry, it is not desirable.
2. RegExp JIT code must be a leaf of execution in terms of SamplingProfiler. So, just recording in VM is enough.
Comment 3 Yusuke Suzuki 2019-09-13 03:45:55 PDT
Created attachment 378721 [details]
Comment 4 Yusuke Suzuki 2021-07-15 18:51:27 PDT
Created attachment 433646 [details]
Comment 5 Saam Barati 2021-07-15 20:01:41 PDT
Comment on attachment 433646 [details]

Nice. r=me
Comment 6 Yusuke Suzuki 2021-07-15 21:10:59 PDT
Committed r279976 (239719@main): <https://commits.webkit.org/239719@main>
Comment 7 Yusuke Suzuki 2021-07-16 18:20:42 PDT
*** Bug 190336 has been marked as a duplicate of this bug. ***
Comment 8 Joseph Pecoraro 2021-07-19 10:29:13 PDT
Whoa! Awesome