NEW 167119
[JSC] Handle parseInt in DFG / FTL for kraken crypto-ccm
https://bugs.webkit.org/show_bug.cgi?id=167119
Summary [JSC] Handle parseInt in DFG / FTL for kraken crypto-ccm
Yusuke Suzuki
Reported 2017-01-17 09:06:16 PST
kraken crypto-ccm repeatedly calls parseInt function. I think we have a chance to optimize it by handling it in DFG, because 1. typically the second `radix` parameter is constant! We typically call it in the form like `parseInt(xxx, 10)`. So in that case, many checks can be dropped. 2. typically the first parameter is string. We can use StringUse to avoid string type check & conversions in parseInt function.
Attachments
Saam Barati
Comment 1 2017-01-17 11:26:55 PST
(In reply to comment #0) > kraken crypto-ccm repeatedly calls parseInt function. > I think we have a chance to optimize it by handling it in DFG, because > > 1. typically the second `radix` parameter is constant! We typically call it > in the form like `parseInt(xxx, 10)`. So in that case, many checks can be > dropped. > 2. typically the first parameter is string. We can use StringUse to avoid > string type check & conversions in parseInt function. I was looking at this too last Friday! Some more details, for Kraken specifically: - Radix is always (almost) the number 16 - String is always a rope (I think a substring style rope)
Saam Barati
Comment 2 2017-01-17 11:29:44 PST
I was also thinking that making String.prototype.substr an intrinsic could help performance on some kraken tests.
Note You need to log in before you can comment on or make changes to this bug.