Bug 157766 - [JSC] Remove the index check from op_get_by_val/op_put_by_val when the index is constant
Summary: [JSC] Remove the index check from op_get_by_val/op_put_by_val when the index ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Benjamin Poulain
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-16 16:05 PDT by Benjamin Poulain
Modified: 2016-05-16 20:30 PDT (History)
5 users (show)

See Also:


Attachments
Patch (5.59 KB, patch)
2016-05-16 16:08 PDT, Benjamin Poulain
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Poulain 2016-05-16 16:05:55 PDT
[JSC] Remove the index check from op_get_by_val/op_put_by_val when the index is constant
Comment 1 Benjamin Poulain 2016-05-16 16:08:18 PDT
Created attachment 279061 [details]
Patch
Comment 2 Benjamin Poulain 2016-05-16 16:09:13 PDT
I hate Sunspider:

                                    Conf#1                    Conf#2                                      

3d-cube                         4.9027+-0.0200            4.8806+-0.0249        
3d-morph                        5.0418+-0.0281            5.0344+-0.0332        
3d-raytrace                     5.3113+-0.0281            5.2697+-0.0265        
access-binary-trees             2.0935+-0.0176            2.0893+-0.0147        
access-fannkuch                 5.8393+-0.0256     ^      5.7579+-0.0252        ^ definitely 1.0141x faster
access-nbody                    2.5180+-0.0163     ?      2.5288+-0.0200        ?
access-nsieve                   2.9318+-0.0166     ?      2.9571+-0.0192        ?
bitops-3bit-bits-in-byte        1.0804+-0.0092            1.0738+-0.0071        
bitops-bits-in-byte             2.7075+-0.0176            2.6980+-0.0162        
bitops-bitwise-and              1.9914+-0.0155     ?      1.9989+-0.0191        ?
bitops-nsieve-bits              3.0269+-0.0146     ?      3.0337+-0.0169        ?
controlflow-recursive           2.3110+-0.0184            2.3016+-0.0128        
crypto-aes                      4.3871+-0.0345            4.3627+-0.0304        
crypto-md5                      2.4268+-0.0179            2.4153+-0.0189        
crypto-sha1                     2.2765+-0.0162            2.2699+-0.0148        
date-format-tofte               6.5704+-0.0410     ?      6.5786+-0.0435        ?
date-format-xparb               4.7796+-0.0388     ?      4.8147+-0.0325        ?
math-cordic                     2.8296+-0.0123            2.8263+-0.0123        
math-partial-sums               4.1536+-0.0319     ?      4.2053+-0.0380        ? might be 1.0124x slower
math-spectral-norm              1.9879+-0.0116            1.9869+-0.0117        
regexp-dna                      6.5477+-0.0486            6.5173+-0.0468        
string-base64                   4.2331+-0.0416     ?      4.2716+-0.0443        ?
string-fasta                    5.6100+-0.0208            5.5968+-0.0300        
string-tagcloud                 8.5645+-0.0571            8.4743+-0.0422          might be 1.0106x faster
string-unpack-code             18.5003+-0.1216     ?     18.5457+-0.1402        ?
string-validate-input           4.1310+-0.0266     ?      4.1493+-0.0243        ?

<arithmetic>                    4.4905+-0.0066            4.4861+-0.0072          might be 1.0010x faster
Comment 3 Geoffrey Garen 2016-05-16 16:14:07 PDT
Comment on attachment 279061 [details]
Patch

r=me
Comment 4 WebKit Commit Bot 2016-05-16 20:30:16 PDT
Comment on attachment 279061 [details]
Patch

Clearing flags on attachment: 279061

Committed r200991: <http://trac.webkit.org/changeset/200991>
Comment 5 WebKit Commit Bot 2016-05-16 20:30:20 PDT
All reviewed patches have been landed.  Closing bug.