<?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>153226</bug_id>
          
          <creation_ts>2016-01-19 01:02:06 -0800</creation_ts>
          <short_desc>[mips] Unaligned halfword load is not handled properly in macro assembler</short_desc>
          <delta_ts>2016-07-14 10:39:07 -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>JavaScriptCore</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="Julien Brianceau">jbriance</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annulen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>guijemont</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>1156566</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2016-01-19 01:02:06 -0800</bug_when>
    <thetext>In mips macro assembler, the load16Unaligned(BaseIndex address, RegisterID dest) implementation is not efficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156567</commentid>
    <comment_count>1</comment_count>
      <attachid>269259</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2016-01-19 01:16:27 -0800</bug_when>
    <thetext>Created attachment 269259
Provide a load16Unaligned implementation in mips macro assembler

Note: already contributed in qtwekbit http://code.qt.io/cgit/qt/qtwebkit.git/commit/?id=ea22657d17a934b04c8621dc8891a1d4d80510e3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156568</commentid>
    <comment_count>2</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2016-01-19 01:19:08 -0800</bug_when>
    <thetext>SunSpider&apos;s regexp-dna results on my mips board:

- without patch

    ============================================
    RESULTS (means and 95% confidence intervals)
    --------------------------------------------
    Total:     353.9ms +/- 0.5%
    --------------------------------------------

      regexp:  353.9ms +/- 0.5%
        dna:   353.9ms +/- 0.5%

- with patch

    ============================================
    RESULTS (means and 95% confidence intervals)
    --------------------------------------------
    Total:     136.5ms +/- 2.6%
    --------------------------------------------

      regexp:  136.5ms +/- 2.6%
        dna:   136.5ms +/- 2.6%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183041</commentid>
    <comment_count>3</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2016-04-12 06:39:14 -0700</bug_when>
    <thetext>Guillaume, do you have any feedback on this one ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183287</commentid>
    <comment_count>4</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2016-04-12 16:24:58 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Guillaume, do you have any feedback on this one ?

I couldn&apos;t say whether this is the fastest solution, though it might well be. It looks correct to me, and it runs well on my device.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210956</commentid>
    <comment_count>5</comment_count>
      <attachid>269259</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-07-14 05:37:58 -0700</bug_when>
    <thetext>Comment on attachment 269259
Provide a load16Unaligned implementation in mips macro assembler

rs=me. I don&apos;t understand all the code, but any error here would clearly be isolated to the MIPS platform, Guillaume has given his unofficial r+, it&apos;s been used in QtWebKit for almost two years, and no reviewer is working on MIPS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211029</commentid>
    <comment_count>6</comment_count>
      <attachid>269259</attachid>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2016-07-14 10:17:56 -0700</bug_when>
    <thetext>Comment on attachment 269259
Provide a load16Unaligned implementation in mips macro assembler

Works fine here and improves benchmark results. cq+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211043</commentid>
    <comment_count>7</comment_count>
      <attachid>269259</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-14 10:39:04 -0700</bug_when>
    <thetext>Comment on attachment 269259
Provide a load16Unaligned implementation in mips macro assembler

Clearing flags on attachment: 269259

Committed r203226: &lt;http://trac.webkit.org/changeset/203226&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211044</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-14 10:39:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269259</attachid>
            <date>2016-01-19 01:16:27 -0800</date>
            <delta_ts>2016-07-14 10:39:04 -0700</delta_ts>
            <desc>Provide a load16Unaligned implementation in mips macro assembler</desc>
            <filename>bug-153226.patch</filename>
            <type>text/plain</type>
            <size>3951</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk1MjY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDE2LTAxLTE5ICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VAY2lzY28uY29tPgorCisg
ICAgICAgIFttaXBzXSBIYW5kbGUgcHJvcGVybHkgdW5hbGlnbmVkIGhhbGZ3b3JkIGxvYWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzIyNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdhaXRpbmcgZm9y
IHRoZSBrZXJuZWwgdG8gc2lsZW50bHkgZml4LXVwIHVuYWxpZ25lZCBhY2Nlc3NlcyBpcworICAg
ICAgICBub3QgZWZmaWNpZW50LCBzbyBsZXQncyBwcm92aWRlIGFuIGltcGxlbWVudGF0aW9uIG9m
IGxvYWQxNlVuYWxpZ25lZAorICAgICAgICBpbiBtaXBzIG1hY3JvIGFzc2VtYmxlci4KKworICAg
ICAgICBQZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBzZWVuIHdpdGggU3VuU3BpZGVyJ3MgcmVnZXhw
LWRuYSB0ZXN0LgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlck1JUFM6OmxvYWQxNlVuYWxpZ25lZCk6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyTUlQUzo6bG9hZDMyV2l0aFVuYWxpZ25lZEhhbGZXb3Jk
cyk6CisKIDIwMTYtMDEtMTggIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAg
ICAgICAgYXNzZXJ0aW9ucyBpbiBCeXRlY29kZVVzZURlZi5oIGFib3V0IG9wY29kZSBsZW5ndGgg
YXJlIG9mZiBieSBvbmUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJNSVBTLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaAkocmV2aXNpb24gMTk1MjYyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaAkod29ya2luZyBj
b3B5KQpAQCAtODEwLDcgKzgxMCw1MyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWQxNlVuYWxp
Z25lZChCYXNlSW5kZXggYWRkcmVzcywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAg
bG9hZDE2KGFkZHJlc3MsIGRlc3QpOworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQgPj0gLTMy
NzY4ICYmIGFkZHJlc3Mub2Zmc2V0IDw9IDMyNzY3ICYmICFtX2ZpeGVkV2lkdGgpIHsKKyAgICAg
ICAgICAgIC8qCisgICAgICAgICAgICAgICAgc2xsICAgICBhZGRydGVtcCwgYWRkcmVzcy5pbmRl
eCwgYWRkcmVzcy5zY2FsZQorICAgICAgICAgICAgICAgIGFkZHUgICAgYWRkcnRlbXAsIGFkZHJ0
ZW1wLCBhZGRyZXNzLmJhc2UKKyAgICAgICAgICAgICAgICBsYnUgICAgIGltbVRlbXAsIGFkZHJl
c3Mub2Zmc2V0K3goYWRkcnRlbXApICh4PTAgZm9yIExFLCB4PTEgZm9yIEJFKQorICAgICAgICAg
ICAgICAgIGxidSAgICAgZGVzdCwgYWRkcmVzcy5vZmZzZXQreChhZGRydGVtcCkgICAgKHg9MSBm
b3IgTEUsIHg9MCBmb3IgQkUpCisgICAgICAgICAgICAgICAgc2xsICAgICBkZXN0LCBkZXN0LCA4
CisgICAgICAgICAgICAgICAgb3IgICAgICBkZXN0LCBkZXN0LCBpbW1UZW1wCisgICAgICAgICAg
ICAqLworICAgICAgICAgICAgbV9hc3NlbWJsZXIuc2xsKGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJl
c3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkdShh
ZGRyVGVtcFJlZ2lzdGVyLCBhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLmJhc2UpOworI2lmIENQ
VShCSUdfRU5ESUFOKQorICAgICAgICAgICAgbV9hc3NlbWJsZXIubGJ1KGltbVRlbXBSZWdpc3Rl
ciwgYWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5vZmZzZXQgKyAxKTsKKyAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmxidShkZXN0LCBhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLm9mZnNldCk7Cisj
ZWxzZQorICAgICAgICAgICAgbV9hc3NlbWJsZXIubGJ1KGltbVRlbXBSZWdpc3RlciwgYWRkclRl
bXBSZWdpc3RlciwgYWRkcmVzcy5vZmZzZXQpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIubGJ1
KGRlc3QsIGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3Mub2Zmc2V0ICsgMSk7CisjZW5kaWYKKyAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLnNsbChkZXN0LCBkZXN0LCA4KTsKKyAgICAgICAgICAgIG1f
YXNzZW1ibGVyLm9ySW5zbihkZXN0LCBkZXN0LCBpbW1UZW1wUmVnaXN0ZXIpOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICBzbGwgICAgIGFkZHJUZW1w
LCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlCisgICAgICAgICAgICAgICAgYWRkdSAgICBh
ZGRyVGVtcCwgYWRkclRlbXAsIGFkZHJlc3MuYmFzZQorICAgICAgICAgICAgICAgIGx1aSAgICAg
aW1tVGVtcCwgYWRkcmVzcy5vZmZzZXQgPj4gMTYKKyAgICAgICAgICAgICAgICBvcmkgICAgIGlt
bVRlbXAsIGltbVRlbXAsIGFkZHJlc3Mub2Zmc2V0ICYgMHhmZmZmCisgICAgICAgICAgICAgICAg
YWRkdSAgICBhZGRyVGVtcCwgYWRkclRlbXAsIGltbVRlbXAKKyAgICAgICAgICAgICAgICBsYnUg
ICAgIGltbVRlbXAsIHgoYWRkcnRlbXApICh4PTAgZm9yIExFLCB4PTEgZm9yIEJFKQorICAgICAg
ICAgICAgICAgIGxidSAgICAgZGVzdCwgeChhZGRydGVtcCkgICAgKHg9MSBmb3IgTEUsIHg9MCBm
b3IgQkUpCisgICAgICAgICAgICAgICAgc2xsICAgICBkZXN0LCBkZXN0LCA4CisgICAgICAgICAg
ICAgICAgb3IgICAgICBkZXN0LCBkZXN0LCBpbW1UZW1wCisgICAgICAgICAgICAqLworICAgICAg
ICAgICAgbV9hc3NlbWJsZXIuc2xsKGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3MuaW5kZXgsIGFk
ZHJlc3Muc2NhbGUpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkdShhZGRyVGVtcFJlZ2lz
dGVyLCBhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLmJhc2UpOworICAgICAgICAgICAgbV9hc3Nl
bWJsZXIubHVpKGltbVRlbXBSZWdpc3RlciwgYWRkcmVzcy5vZmZzZXQgPj4gMTYpOworICAgICAg
ICAgICAgbV9hc3NlbWJsZXIub3JpKGltbVRlbXBSZWdpc3RlciwgaW1tVGVtcFJlZ2lzdGVyLCBh
ZGRyZXNzLm9mZnNldCk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGR1KGFkZHJUZW1wUmVn
aXN0ZXIsIGFkZHJUZW1wUmVnaXN0ZXIsIGltbVRlbXBSZWdpc3Rlcik7CisjaWYgQ1BVKEJJR19F
TkRJQU4pCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5sYnUoaW1tVGVtcFJlZ2lzdGVyLCBhZGRy
VGVtcFJlZ2lzdGVyLCAxKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxidShkZXN0LCBhZGRy
VGVtcFJlZ2lzdGVyLCAwKTsKKyNlbHNlCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5sYnUoaW1t
VGVtcFJlZ2lzdGVyLCBhZGRyVGVtcFJlZ2lzdGVyLCAwKTsKKyAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmxidShkZXN0LCBhZGRyVGVtcFJlZ2lzdGVyLCAxKTsKKyNlbmRpZgorICAgICAgICAgICAg
bV9hc3NlbWJsZXIuc2xsKGRlc3QsIGRlc3QsIDgpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIu
b3JJbnNuKGRlc3QsIGRlc3QsIGltbVRlbXBSZWdpc3Rlcik7CisgICAgICAgIH0KICAgICB9CiAK
ICAgICB2b2lkIGxvYWQzMldpdGhVbmFsaWduZWRIYWxmV29yZHMoQmFzZUluZGV4IGFkZHJlc3Ms
IFJlZ2lzdGVySUQgZGVzdCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>