<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>157766</bug_id>
          
          <creation_ts>2016-05-16 16:05:55 -0700</creation_ts>
          <short_desc>[JSC] Remove the index check from op_get_by_val/op_put_by_val when the index is constant</short_desc>
          <delta_ts>2016-05-16 20:30:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1193586</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-16 16:05:55 -0700</bug_when>
    <thetext>[JSC] Remove the index check from op_get_by_val/op_put_by_val when the index is constant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193590</commentid>
    <comment_count>1</comment_count>
      <attachid>279061</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-16 16:08:18 -0700</bug_when>
    <thetext>Created attachment 279061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193591</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-05-16 16:09:13 -0700</bug_when>
    <thetext>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        ?

&lt;arithmetic&gt;                    4.4905+-0.0066            4.4861+-0.0072          might be 1.0010x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193593</commentid>
    <comment_count>3</comment_count>
      <attachid>279061</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-05-16 16:14:07 -0700</bug_when>
    <thetext>Comment on attachment 279061
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193690</commentid>
    <comment_count>4</comment_count>
      <attachid>279061</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-16 20:30:16 -0700</bug_when>
    <thetext>Comment on attachment 279061
Patch

Clearing flags on attachment: 279061

Committed r200991: &lt;http://trac.webkit.org/changeset/200991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193691</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-16 20:30:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279061</attachid>
            <date>2016-05-16 16:08:18 -0700</date>
            <delta_ts>2016-05-16 20:30:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157766-20160516160914.patch</filename>
            <type>text/plain</type>
            <size>5721</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwODk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MjQzNDFiZTJmNDcyNGRkN2Q3MjJiMWQ2NGY2N2E3MzYyOGI5YTU0Li42NjgxM2Q2MzUwYTdiYTdl
ODZiZmZmMjliZGUzMTc0YTM2ZDlmMDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNi0wNS0xNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbSlNDXSBSZW1vdmUgdGhlIGluZGV4IGNoZWNrIGZyb20gb3BfZ2V0
X2J5X3ZhbC9vcF9wdXRfYnlfdmFsIHdoZW4gdGhlIGluZGV4IGlzIGNvbnN0YW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc3NjYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB0aGUgaW5kZXggaXMg
YW4gaW50ZWdlciBjb25zdGFudCwgZG8gbm90IGdlbmVyYXRlIHRoZSBpbmRleCBjaGVjay4KKwor
ICAgICAgICAqIGppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6
ZW1pdF9vcF9nZXRfYnlfdmFsKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9nZXRf
YnlfdmFsKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV92YWwpOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRTbG93X29wX3B1dF9ieV92YWwpOgorCiAyMDE2LTA1LTEzICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFNldExv
Y2FsIHdpdGhvdXQgZXhpdCBkbyBub3QgbmVlZCBwaGFudG9tcwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAppbmRleCBiZDAxYTU3YTg2ZDZjNmJi
M2ZjYTY3NWMzOTU1OTgzNzFmNTAyZWE0Li4yYWZiNmIxMzRjMGQ2MGY1YzJjMDdjNDkxZjEzMmFj
M2Y3NWFkMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3Bl
cnR5QWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5
QWNjZXNzLmNwcApAQCAtMTAwLDIwICsxMDAsMjggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZ2V0X2J5
X3ZhbChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIEFycmF5UHJvZmlsZSog
cHJvZmlsZSA9IGN1cnJlbnRJbnN0cnVjdGlvbls0XS51LmFycmF5UHJvZmlsZTsKICAgICBCeVZh
bEluZm8qIGJ5VmFsSW5mbyA9IG1fY29kZUJsb2NrLT5hZGRCeVZhbEluZm8oKTsKIAotICAgIGVt
aXRHZXRWaXJ0dWFsUmVnaXN0ZXJzKGJhc2UsIHJlZ1QwLCBwcm9wZXJ0eSwgcmVnVDEpOworICAg
IGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYmFzZSwgcmVnVDApOworICAgIGJvb2wgcHJvcGVydHlO
YW1lSXNJbnRlZ2VyQ29uc3RhbnQgPSBpc09wZXJhbmRDb25zdGFudEludChwcm9wZXJ0eSk7Cisg
ICAgaWYgKHByb3BlcnR5TmFtZUlzSW50ZWdlckNvbnN0YW50KQorICAgICAgICBtb3ZlKEltbTMy
KGdldE9wZXJhbmRDb25zdGFudEludChwcm9wZXJ0eSkpLCByZWdUMSk7CisgICAgZWxzZQorICAg
ICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHByb3BlcnR5LCByZWdUMSk7CiAKICAgICBlbWl0
SnVtcFNsb3dDYXNlSWZOb3RKU0NlbGwocmVnVDAsIGJhc2UpOwogCi0gICAgUGF0Y2hhYmxlSnVt
cCBub3RJbmRleCA9IGVtaXRQYXRjaGFibGVKdW1wSWZOb3RJbnQocmVnVDEpOwotICAgIGFkZFNs
b3dDYXNlKG5vdEluZGV4KTsKLQotICAgIC8vIFRoaXMgaXMgdGVjaG5pY2FsbHkgaW5jb3JyZWN0
IC0gd2UncmUgemVyby1leHRlbmRpbmcgYW4gaW50MzIuICBPbiB0aGUgaG90IHBhdGggdGhpcyBk
b2Vzbid0IG1hdHRlci4KLSAgICAvLyBXZSBjaGVjayB0aGUgdmFsdWUgYXMgaWYgaXQgd2FzIGEg
dWludDMyIGFnYWluc3QgdGhlIG1fdmVjdG9yTGVuZ3RoIC0gd2hpY2ggd2lsbCBhbHdheXMgZmFp
bCBpZgotICAgIC8vIG51bWJlciB3YXMgc2lnbmVkIHNpbmNlIG1fdmVjdG9yTGVuZ3RoIGlzIGFs
d2F5cyBsZXNzIHRoYW4gaW50bWF4IChzaW5jZSB0aGUgdG90YWwgYWxsb2NhdGlvbgotICAgIC8v
IHNpemUgaXMgYWx3YXlzIGxlc3MgdGhhbiA0R2IpLiAgQXMgc3VjaCB6ZXJvIGV4dGVuZGluZyB3
aWxsIGhhdmUgYmVlbiBjb3JyZWN0IChhbmQgZXh0ZW5kaW5nIHRoZSB2YWx1ZQotICAgIC8vIHRv
IDY0LWJpdHMgaXMgbmVjZXNzYXJ5IHNpbmNlIGl0J3MgdXNlZCBpbiB0aGUgYWRkcmVzcyBjYWxj
dWxhdGlvbikuICBXZSB6ZXJvIGV4dGVuZCByYXRoZXIgdGhhbiBzaWduCi0gICAgLy8gZXh0ZW5k
aW5nIHNpbmNlIGl0IG1ha2VzIGl0IGVhc2llciB0byByZS10YWcgdGhlIHZhbHVlIGluIHRoZSBz
bG93IGNhc2UuCi0gICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDEsIHJlZ1QxKTsKKyAgICBQYXRj
aGFibGVKdW1wIG5vdEluZGV4OworICAgIGlmICghcHJvcGVydHlOYW1lSXNJbnRlZ2VyQ29uc3Rh
bnQpIHsKKyAgICAgICAgbm90SW5kZXggPSBlbWl0UGF0Y2hhYmxlSnVtcElmTm90SW50KHJlZ1Qx
KTsKKyAgICAgICAgYWRkU2xvd0Nhc2Uobm90SW5kZXgpOworCisgICAgICAgIC8vIFRoaXMgaXMg
dGVjaG5pY2FsbHkgaW5jb3JyZWN0IC0gd2UncmUgemVyby1leHRlbmRpbmcgYW4gaW50MzIuIE9u
IHRoZSBob3QgcGF0aCB0aGlzIGRvZXNuJ3QgbWF0dGVyLgorICAgICAgICAvLyBXZSBjaGVjayB0
aGUgdmFsdWUgYXMgaWYgaXQgd2FzIGEgdWludDMyIGFnYWluc3QgdGhlIG1fdmVjdG9yTGVuZ3Ro
IC0gd2hpY2ggd2lsbCBhbHdheXMgZmFpbCBpZgorICAgICAgICAvLyBudW1iZXIgd2FzIHNpZ25l
ZCBzaW5jZSBtX3ZlY3Rvckxlbmd0aCBpcyBhbHdheXMgbGVzcyB0aGFuIGludG1heCAoc2luY2Ug
dGhlIHRvdGFsIGFsbG9jYXRpb24KKyAgICAgICAgLy8gc2l6ZSBpcyBhbHdheXMgbGVzcyB0aGFu
IDRHYikuIEFzIHN1Y2ggemVybyBleHRlbmRpbmcgd2lsbCBoYXZlIGJlZW4gY29ycmVjdCAoYW5k
IGV4dGVuZGluZyB0aGUgdmFsdWUKKyAgICAgICAgLy8gdG8gNjQtYml0cyBpcyBuZWNlc3Nhcnkg
c2luY2UgaXQncyB1c2VkIGluIHRoZSBhZGRyZXNzIGNhbGN1bGF0aW9uKS4gV2UgemVybyBleHRl
bmQgcmF0aGVyIHRoYW4gc2lnbgorICAgICAgICAvLyBleHRlbmRpbmcgc2luY2UgaXQgbWFrZXMg
aXQgZWFzaWVyIHRvIHJlLXRhZyB0aGUgdmFsdWUgaW4gdGhlIHNsb3cgY2FzZS4KKyAgICAgICAg
emVyb0V4dGVuZDMyVG9QdHIocmVnVDEsIHJlZ1QxKTsKKyAgICB9CiAKICAgICBlbWl0QXJyYXlQ
cm9maWxpbmdTaXRlV2l0aENlbGwocmVnVDAsIHJlZ1QyLCBwcm9maWxlKTsKICAgICBhbmQzMihU
cnVzdGVkSW1tMzIoSW5kZXhpbmdTaGFwZU1hc2spLCByZWdUMik7CkBAIC0yMzcsNyArMjQ1LDkg
QEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX2dldF9ieV92YWwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXMKICAgICBCeVZhbEluZm8qIGJ5VmFsSW5mbyA9IG1f
YnlWYWxDb21waWxhdGlvbkluZm9bbV9ieVZhbEluc3RydWN0aW9uSW5kZXhdLmJ5VmFsSW5mbzsK
ICAgICAKICAgICBsaW5rU2xvd0Nhc2VJZk5vdEpTQ2VsbChpdGVyLCBiYXNlKTsgLy8gYmFzZSBj
ZWxsIGNoZWNrCi0gICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBwcm9wZXJ0eSBpbnQzMiBjaGVj
aworCisgICAgaWYgKCFpc09wZXJhbmRDb25zdGFudEludChwcm9wZXJ0eSkpCisgICAgICAgIGxp
bmtTbG93Q2FzZShpdGVyKTsgLy8gcHJvcGVydHkgaW50MzIgY2hlY2sKICAgICBKdW1wIG5vbkNl
bGwgPSBqdW1wKCk7CiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBiYXNlIGFycmF5IGNoZWNr
CiAgICAgSnVtcCBub3RTdHJpbmcgPSBicmFuY2hTdHJ1Y3R1cmUoTm90RXF1YWwsIApAQCAtMjc0
LDEyICsyODQsMjEgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfcHV0X2J5X3ZhbChJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uKQogICAgIEFycmF5UHJvZmlsZSogcHJvZmlsZSA9IGN1cnJlbnRJ
bnN0cnVjdGlvbls0XS51LmFycmF5UHJvZmlsZTsKICAgICBCeVZhbEluZm8qIGJ5VmFsSW5mbyA9
IG1fY29kZUJsb2NrLT5hZGRCeVZhbEluZm8oKTsKIAotICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0
ZXJzKGJhc2UsIHJlZ1QwLCBwcm9wZXJ0eSwgcmVnVDEpOworICAgIGVtaXRHZXRWaXJ0dWFsUmVn
aXN0ZXIoYmFzZSwgcmVnVDApOworICAgIGJvb2wgcHJvcGVydHlOYW1lSXNJbnRlZ2VyQ29uc3Rh
bnQgPSBpc09wZXJhbmRDb25zdGFudEludChwcm9wZXJ0eSk7CisgICAgaWYgKHByb3BlcnR5TmFt
ZUlzSW50ZWdlckNvbnN0YW50KQorICAgICAgICBtb3ZlKEltbTMyKGdldE9wZXJhbmRDb25zdGFu
dEludChwcm9wZXJ0eSkpLCByZWdUMSk7CisgICAgZWxzZQorICAgICAgICBlbWl0R2V0VmlydHVh
bFJlZ2lzdGVyKHByb3BlcnR5LCByZWdUMSk7CisKICAgICBlbWl0SnVtcFNsb3dDYXNlSWZOb3RK
U0NlbGwocmVnVDAsIGJhc2UpOwotICAgIFBhdGNoYWJsZUp1bXAgbm90SW5kZXggPSBlbWl0UGF0
Y2hhYmxlSnVtcElmTm90SW50KHJlZ1QxKTsKLSAgICBhZGRTbG93Q2FzZShub3RJbmRleCk7Ci0g
ICAgLy8gU2VlIGNvbW1lbnQgaW4gb3BfZ2V0X2J5X3ZhbC4KLSAgICB6ZXJvRXh0ZW5kMzJUb1B0
cihyZWdUMSwgcmVnVDEpOworICAgIFBhdGNoYWJsZUp1bXAgbm90SW5kZXg7CisgICAgaWYgKCFw
cm9wZXJ0eU5hbWVJc0ludGVnZXJDb25zdGFudCkgeworICAgICAgICBub3RJbmRleCA9IGVtaXRQ
YXRjaGFibGVKdW1wSWZOb3RJbnQocmVnVDEpOworICAgICAgICBhZGRTbG93Q2FzZShub3RJbmRl
eCk7CisgICAgICAgIC8vIFNlZSBjb21tZW50IGluIG9wX2dldF9ieV92YWwuCisgICAgICAgIHpl
cm9FeHRlbmQzMlRvUHRyKHJlZ1QxLCByZWdUMSk7CisgICAgfQogICAgIGVtaXRBcnJheVByb2Zp
bGluZ1NpdGVXaXRoQ2VsbChyZWdUMCwgcmVnVDIsIHByb2ZpbGUpOwogICAgIGFuZDMyKFRydXN0
ZWRJbW0zMihJbmRleGluZ1NoYXBlTWFzayksIHJlZ1QyKTsKICAgICAKQEAgLTQ1MSw3ICs0NzAs
OCBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfcHV0X2J5X3ZhbChJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uLCBWZWN0b3I8U2xvd0NhcwogICAgIEJ5VmFsSW5mbyogYnlWYWxJbmZvID0g
bV9ieVZhbENvbXBpbGF0aW9uSW5mb1ttX2J5VmFsSW5zdHJ1Y3Rpb25JbmRleF0uYnlWYWxJbmZv
OwogCiAgICAgbGlua1Nsb3dDYXNlSWZOb3RKU0NlbGwoaXRlciwgYmFzZSk7IC8vIGJhc2UgY2Vs
bCBjaGVjawotICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gcHJvcGVydHkgaW50MzIgY2hlY2sK
KyAgICBpZiAoIWlzT3BlcmFuZENvbnN0YW50SW50KHByb3BlcnR5KSkKKyAgICAgICAgbGlua1Ns
b3dDYXNlKGl0ZXIpOyAvLyBwcm9wZXJ0eSBpbnQzMiBjaGVjawogICAgIGxpbmtTbG93Q2FzZShp
dGVyKTsgLy8gYmFzZSBub3QgYXJyYXkgY2hlY2sKICAgICAKICAgICBsaW5rU2xvd0Nhc2UoaXRl
cik7IC8vIG91dCBvZiBib3VuZHMK
</data>

          </attachment>
      

    </bug>

</bugzilla>