<?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>97243</bug_id>
          
          <creation_ts>2012-09-20 11:53:28 -0700</creation_ts>
          <short_desc>MIPS store8 functions</short_desc>
          <delta_ts>2012-09-24 08:05:10 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter name="Balazs Kilvady">kilvadyb</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fu</cc>
    
    <cc>gergely</cc>
    
    <cc>hausmann</cc>
    
    <cc>palfia</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>724726</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kilvady">kilvadyb</who>
    <bug_when>2012-09-20 11:53:28 -0700</bug_when>
    <thetext>store8 functions added to MacroAssemblerMIPS.h and low level operations to MIPSAssembler.h. To be able to compile the master branch for MIPS the or32 patch from Chao-Ying Fu (https://bugs.webkit.org/show_bug.cgi?id=97157) also must be applied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724733</commentid>
    <comment_count>1</comment_count>
      <attachid>164959</attachid>
    <who name="Balazs Kilvady">kilvadyb</who>
    <bug_when>2012-09-20 11:58:33 -0700</bug_when>
    <thetext>Created attachment 164959
MIPS store8 functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725242</commentid>
    <comment_count>2</comment_count>
      <attachid>164959</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-21 00:55:05 -0700</bug_when>
    <thetext>Comment on attachment 164959
MIPS store8 functions

Rejecting attachment 164959 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 154708 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
51&gt;At revision 154708.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/13948513</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725280</commentid>
    <comment_count>3</comment_count>
      <attachid>164959</attachid>
    <who name="Balazs Kilvady">kilvadyb</who>
    <bug_when>2012-09-21 02:05:57 -0700</bug_when>
    <thetext>Comment on attachment 164959
MIPS store8 functions

&gt;diff --git a/Source/JavaScriptCore/assembler/MIPSAssembler.h b/Source/JavaScriptCore/assembler/MIPSAssembler.h
&gt;index 65307d9..d3f8af9 100644
&gt;--- a/Source/JavaScriptCore/assembler/MIPSAssembler.h
&gt;+++ b/Source/JavaScriptCore/assembler/MIPSAssembler.h
&gt;@@ -405,6 +405,18 @@ public:
&gt;         loadDelayNop();
&gt;     }
&gt; 
&gt;+    void sb(RegisterID rt, RegisterID rs, int offset)
&gt;+    {
&gt;+        emitInst(0xa0000000 | (rt &lt;&lt; OP_SH_RT) | (rs &lt;&lt; OP_SH_RS)
&gt;+                 | (offset &amp; 0xffff));
&gt;+    }
&gt;+
&gt;+    void sh(RegisterID rt, RegisterID rs, int offset)
&gt;+    {
&gt;+        emitInst(0xa4000000 | (rt &lt;&lt; OP_SH_RT) | (rs &lt;&lt; OP_SH_RS)
&gt;+                 | (offset &amp; 0xffff));
&gt;+    }
&gt;+
&gt;     void sw(RegisterID rt, RegisterID rs, int offset)
&gt;     {
&gt;         emitInst(0xac000000 | (rt &lt;&lt; OP_SH_RT) | (rs &lt;&lt; OP_SH_RS)
&gt;diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
&gt;index 8b3ce9f..cfd6a64 100644
&gt;--- a/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
&gt;+++ b/Source/JavaScriptCore/assembler/MacroAssemblerMIPS.h
&gt;@@ -779,6 +779,81 @@ public:
&gt;         return dataLabel;
&gt;     }
&gt; 
&gt;+    void store8(RegisterID src, BaseIndex address)
&gt;+    {
&gt;+        if (address.offset &gt;= -32768 &amp;&amp; address.offset &lt;= 32767
&gt;+            &amp;&amp; !m_fixedWidth) {
&gt;+            /*
&gt;+                sll     addrTemp, address.index, address.scale
&gt;+                addu    addrTemp, addrTemp, address.base
&gt;+                sb      src, address.offset(addrTemp)
&gt;+            */
&gt;+            m_assembler.sll(addrTempRegister, address.index, address.scale);
&gt;+            m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
&gt;+            m_assembler.sb(src, addrTempRegister, address.offset);
&gt;+        } else {
&gt;+            /*
&gt;+                sll     addrTemp, address.index, address.scale
&gt;+                addu    addrTemp, addrTemp, address.base
&gt;+                lui     immTemp, (address.offset + 0x8000) &gt;&gt; 16
&gt;+                addu    addrTemp, addrTemp, immTemp
&gt;+                sb      src, (address.offset &amp; 0xffff)(at)
&gt;+            */
&gt;+            m_assembler.sll(addrTempRegister, address.index, address.scale);
&gt;+            m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
&gt;+            m_assembler.lui(immTempRegister, (address.offset + 0x8000) &gt;&gt; 16);
&gt;+            m_assembler.addu(addrTempRegister, addrTempRegister,
&gt;+                             immTempRegister);
&gt;+            m_assembler.sb(src, addrTempRegister, address.offset);
&gt;+        }
&gt;+    }
&gt;+
&gt;+    void store8(TrustedImm32 imm, void* address)
&gt;+    {
&gt;+        /*
&gt;+            li  immTemp, imm
&gt;+            li  addrTemp, address
&gt;+            sb  src, 0(addrTemp)
&gt;+        */
&gt;+        if (!imm.m_value &amp;&amp; !m_fixedWidth) {
&gt;+            move(TrustedImmPtr(address), addrTempRegister);
&gt;+            m_assembler.sb(MIPSRegisters::zero, addrTempRegister, 0);
&gt;+        } else {
&gt;+            move(imm, immTempRegister);
&gt;+            move(TrustedImmPtr(address), addrTempRegister);
&gt;+            m_assembler.sb(immTempRegister, addrTempRegister, 0);
&gt;+        }
&gt;+    }
&gt;+
&gt;+    void store16(RegisterID src, BaseIndex address)
&gt;+    {
&gt;+        if (address.offset &gt;= -32768 &amp;&amp; address.offset &lt;= 32767
&gt;+            &amp;&amp; !m_fixedWidth) {
&gt;+            /*
&gt;+                sll     addrTemp, address.index, address.scale
&gt;+                addu    addrTemp, addrTemp, address.base
&gt;+                sh      src, address.offset(addrTemp)
&gt;+            */
&gt;+            m_assembler.sll(addrTempRegister, address.index, address.scale);
&gt;+            m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
&gt;+            m_assembler.sh(src, addrTempRegister, address.offset);
&gt;+        } else {
&gt;+            /*
&gt;+                sll     addrTemp, address.index, address.scale
&gt;+                addu    addrTemp, addrTemp, address.base
&gt;+                lui     immTemp, (address.offset + 0x8000) &gt;&gt; 16
&gt;+                addu    addrTemp, addrTemp, immTemp
&gt;+                sh      src, (address.offset &amp; 0xffff)(at)
&gt;+            */
&gt;+            m_assembler.sll(addrTempRegister, address.index, address.scale);
&gt;+            m_assembler.addu(addrTempRegister, addrTempRegister, address.base);
&gt;+            m_assembler.lui(immTempRegister, (address.offset + 0x8000) &gt;&gt; 16);
&gt;+            m_assembler.addu(addrTempRegister, addrTempRegister,
&gt;+                             immTempRegister);
&gt;+            m_assembler.sh(src, addrTempRegister, address.offset);
&gt;+        }
&gt;+    }
&gt;+
&gt;     void store32(RegisterID src, ImplicitAddress address)
&gt;     {
&gt;         if (address.offset &gt;= -32768 &amp;&amp; address.offset &lt;= 32767</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725282</commentid>
    <comment_count>4</comment_count>
      <attachid>165082</attachid>
    <who name="Balazs Kilvady">kilvadyb</who>
    <bug_when>2012-09-21 02:07:38 -0700</bug_when>
    <thetext>Created attachment 165082
MIPS store8 functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725289</commentid>
    <comment_count>5</comment_count>
      <attachid>165085</attachid>
    <who name="Balazs Kilvady">kilvadyb</who>
    <bug_when>2012-09-21 02:15:45 -0700</bug_when>
    <thetext>Created attachment 165085
MIPS store8 functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726576</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-09-24 05:31:55 -0700</bug_when>
    <thetext>Holger, do you know a bit of MIPS assembler to review this? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726667</commentid>
    <comment_count>7</comment_count>
      <attachid>165085</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 08:05:06 -0700</bug_when>
    <thetext>Comment on attachment 165085
MIPS store8 functions

Clearing flags on attachment: 165085

Committed r129367: &lt;http://trac.webkit.org/changeset/129367&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726668</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 08:05:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>164959</attachid>
            <date>2012-09-20 11:58:33 -0700</date>
            <delta_ts>2012-09-21 02:05:57 -0700</delta_ts>
            <desc>MIPS store8 functions</desc>
            <filename>mips_assembler.diff</filename>
            <type>text/plain</type>
            <size>4598</size>
            <attacher name="Balazs Kilvady">kilvadyb</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTUlQU0Fzc2VtYmxl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NSVBTQXNzZW1ibGVyLmgKaW5k
ZXggNjUzMDdkOS4uZDNmOGFmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NSVBTQXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NSVBTQXNzZW1ibGVyLmgKQEAgLTQwNSw2ICs0MDUsMTggQEAgcHVibGljOgogICAgICAg
ICBsb2FkRGVsYXlOb3AoKTsKICAgICB9CiAKKyAgICB2b2lkIHNiKFJlZ2lzdGVySUQgcnQsIFJl
Z2lzdGVySUQgcnMsIGludCBvZmZzZXQpCisgICAgeworICAgICAgICBlbWl0SW5zdCgweGEwMDAw
MDAwIHwgKHJ0IDw8IE9QX1NIX1JUKSB8IChycyA8PCBPUF9TSF9SUykKKyAgICAgICAgICAgICAg
ICAgfCAob2Zmc2V0ICYgMHhmZmZmKSk7CisgICAgfQorCisgICAgdm9pZCBzaChSZWdpc3RlcklE
IHJ0LCBSZWdpc3RlcklEIHJzLCBpbnQgb2Zmc2V0KQorICAgIHsKKyAgICAgICAgZW1pdEluc3Qo
MHhhNDAwMDAwMCB8IChydCA8PCBPUF9TSF9SVCkgfCAocnMgPDwgT1BfU0hfUlMpCisgICAgICAg
ICAgICAgICAgIHwgKG9mZnNldCAmIDB4ZmZmZikpOworICAgIH0KKwogICAgIHZvaWQgc3coUmVn
aXN0ZXJJRCBydCwgUmVnaXN0ZXJJRCBycywgaW50IG9mZnNldCkKICAgICB7CiAgICAgICAgIGVt
aXRJbnN0KDB4YWMwMDAwMDAgfCAocnQgPDwgT1BfU0hfUlQpIHwgKHJzIDw8IE9QX1NIX1JTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ck1JUFMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJN
SVBTLmgKaW5kZXggOGIzY2U5Zi4uY2ZkNmE2NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCkBAIC03NzksNiArNzc5LDgx
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGRhdGFMYWJlbDsKICAgICB9CiAKKyAgICB2b2lk
IHN0b3JlOChSZWdpc3RlcklEIHNyYywgQmFzZUluZGV4IGFkZHJlc3MpCisgICAgeworICAgICAg
ICBpZiAoYWRkcmVzcy5vZmZzZXQgPj0gLTMyNzY4ICYmIGFkZHJlc3Mub2Zmc2V0IDw9IDMyNzY3
CisgICAgICAgICAgICAmJiAhbV9maXhlZFdpZHRoKSB7CisgICAgICAgICAgICAvKgorICAgICAg
ICAgICAgICAgIHNsbCAgICAgYWRkclRlbXAsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUK
KyAgICAgICAgICAgICAgICBhZGR1ICAgIGFkZHJUZW1wLCBhZGRyVGVtcCwgYWRkcmVzcy5iYXNl
CisgICAgICAgICAgICAgICAgc2IgICAgICBzcmMsIGFkZHJlc3Mub2Zmc2V0KGFkZHJUZW1wKQor
ICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNsbChhZGRyVGVtcFJlZ2lz
dGVyLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlKTsKKyAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmFkZHUoYWRkclRlbXBSZWdpc3RlciwgYWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5iYXNl
KTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNiKHNyYywgYWRkclRlbXBSZWdpc3RlciwgYWRk
cmVzcy5vZmZzZXQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLyoKKyAgICAgICAg
ICAgICAgICBzbGwgICAgIGFkZHJUZW1wLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlCisg
ICAgICAgICAgICAgICAgYWRkdSAgICBhZGRyVGVtcCwgYWRkclRlbXAsIGFkZHJlc3MuYmFzZQor
ICAgICAgICAgICAgICAgIGx1aSAgICAgaW1tVGVtcCwgKGFkZHJlc3Mub2Zmc2V0ICsgMHg4MDAw
KSA+PiAxNgorICAgICAgICAgICAgICAgIGFkZHUgICAgYWRkclRlbXAsIGFkZHJUZW1wLCBpbW1U
ZW1wCisgICAgICAgICAgICAgICAgc2IgICAgICBzcmMsIChhZGRyZXNzLm9mZnNldCAmIDB4ZmZm
ZikoYXQpCisgICAgICAgICAgICAqLworICAgICAgICAgICAgbV9hc3NlbWJsZXIuc2xsKGFkZHJU
ZW1wUmVnaXN0ZXIsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUpOworICAgICAgICAgICAg
bV9hc3NlbWJsZXIuYWRkdShhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyVGVtcFJlZ2lzdGVyLCBhZGRy
ZXNzLmJhc2UpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIubHVpKGltbVRlbXBSZWdpc3Rlciwg
KGFkZHJlc3Mub2Zmc2V0ICsgMHg4MDAwKSA+PiAxNik7CisgICAgICAgICAgICBtX2Fzc2VtYmxl
ci5hZGR1KGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJUZW1wUmVnaXN0ZXIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGltbVRlbXBSZWdpc3Rlcik7CisgICAgICAgICAgICBtX2Fzc2VtYmxl
ci5zYihzcmMsIGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3Mub2Zmc2V0KTsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHZvaWQgc3RvcmU4KFRydXN0ZWRJbW0zMiBpbW0sIHZvaWQqIGFkZHJlc3Mp
CisgICAgeworICAgICAgICAvKgorICAgICAgICAgICAgbGkgIGltbVRlbXAsIGltbQorICAgICAg
ICAgICAgbGkgIGFkZHJUZW1wLCBhZGRyZXNzCisgICAgICAgICAgICBzYiAgc3JjLCAwKGFkZHJU
ZW1wKQorICAgICAgICAqLworICAgICAgICBpZiAoIWltbS5tX3ZhbHVlICYmICFtX2ZpeGVkV2lk
dGgpIHsKKyAgICAgICAgICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhZGRyZXNzKSwgYWRkclRlbXBS
ZWdpc3Rlcik7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zYihNSVBTUmVnaXN0ZXJzOjp6ZXJv
LCBhZGRyVGVtcFJlZ2lzdGVyLCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1v
dmUoaW1tLCBpbW1UZW1wUmVnaXN0ZXIpOworICAgICAgICAgICAgbW92ZShUcnVzdGVkSW1tUHRy
KGFkZHJlc3MpLCBhZGRyVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNi
KGltbVRlbXBSZWdpc3RlciwgYWRkclRlbXBSZWdpc3RlciwgMCk7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICB2b2lkIHN0b3JlMTYoUmVnaXN0ZXJJRCBzcmMsIEJhc2VJbmRleCBhZGRyZXNzKQor
ICAgIHsKKyAgICAgICAgaWYgKGFkZHJlc3Mub2Zmc2V0ID49IC0zMjc2OCAmJiBhZGRyZXNzLm9m
ZnNldCA8PSAzMjc2NworICAgICAgICAgICAgJiYgIW1fZml4ZWRXaWR0aCkgeworICAgICAgICAg
ICAgLyoKKyAgICAgICAgICAgICAgICBzbGwgICAgIGFkZHJUZW1wLCBhZGRyZXNzLmluZGV4LCBh
ZGRyZXNzLnNjYWxlCisgICAgICAgICAgICAgICAgYWRkdSAgICBhZGRyVGVtcCwgYWRkclRlbXAs
IGFkZHJlc3MuYmFzZQorICAgICAgICAgICAgICAgIHNoICAgICAgc3JjLCBhZGRyZXNzLm9mZnNl
dChhZGRyVGVtcCkKKyAgICAgICAgICAgICovCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zbGwo
YWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5pbmRleCwgYWRkcmVzcy5zY2FsZSk7CisgICAgICAg
ICAgICBtX2Fzc2VtYmxlci5hZGR1KGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJUZW1wUmVnaXN0ZXIs
IGFkZHJlc3MuYmFzZSk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zaChzcmMsIGFkZHJUZW1w
UmVnaXN0ZXIsIGFkZHJlc3Mub2Zmc2V0KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IC8qCisgICAgICAgICAgICAgICAgc2xsICAgICBhZGRyVGVtcCwgYWRkcmVzcy5pbmRleCwgYWRk
cmVzcy5zY2FsZQorICAgICAgICAgICAgICAgIGFkZHUgICAgYWRkclRlbXAsIGFkZHJUZW1wLCBh
ZGRyZXNzLmJhc2UKKyAgICAgICAgICAgICAgICBsdWkgICAgIGltbVRlbXAsIChhZGRyZXNzLm9m
ZnNldCArIDB4ODAwMCkgPj4gMTYKKyAgICAgICAgICAgICAgICBhZGR1ICAgIGFkZHJUZW1wLCBh
ZGRyVGVtcCwgaW1tVGVtcAorICAgICAgICAgICAgICAgIHNoICAgICAgc3JjLCAoYWRkcmVzcy5v
ZmZzZXQgJiAweGZmZmYpKGF0KQorICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIG1fYXNzZW1i
bGVyLnNsbChhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlKTsK
KyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHUoYWRkclRlbXBSZWdpc3RlciwgYWRkclRlbXBS
ZWdpc3RlciwgYWRkcmVzcy5iYXNlKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmx1aShpbW1U
ZW1wUmVnaXN0ZXIsIChhZGRyZXNzLm9mZnNldCArIDB4ODAwMCkgPj4gMTYpOworICAgICAgICAg
ICAgbV9hc3NlbWJsZXIuYWRkdShhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyVGVtcFJlZ2lzdGVyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbW1UZW1wUmVnaXN0ZXIpOworICAgICAgICAg
ICAgbV9hc3NlbWJsZXIuc2goc3JjLCBhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLm9mZnNldCk7
CisgICAgICAgIH0KKyAgICB9CisKICAgICB2b2lkIHN0b3JlMzIoUmVnaXN0ZXJJRCBzcmMsIElt
cGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAgIHsKICAgICAgICAgaWYgKGFkZHJlc3Mub2Zmc2V0
ID49IC0zMjc2OCAmJiBhZGRyZXNzLm9mZnNldCA8PSAzMjc2Nwo=
</data>
<flag name="review"
          id="176916"
          type_id="1"
          status="+"
          setter="barraclough"
    />
    <flag name="commit-queue"
          id="176917"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>165082</attachid>
            <date>2012-09-21 02:07:38 -0700</date>
            <delta_ts>2012-09-21 02:14:50 -0700</delta_ts>
            <desc>MIPS store8 functions</desc>
            <filename>mips_assembler.diff</filename>
            <type>text/plain</type>
            <size>5768</size>
            <attacher name="Balazs Kilvady">kilvadyb</attacher>
            
              <data encoding="base64">Y29tbWl0IGZiZTUyMDFhZDI5NTQ2NTFkMThhYWFiYmE1MGVmODc4YThiOWMxZDkKQXV0aG9yOiBC
YWxhenMgS2lsdmFkeSA8a2lsdmFkeWJAaG9tZWppbm5pLmNvbT4KRGF0ZTogICBGcmkgU2VwIDIx
IDA4OjE3OjE5IDIwMTIgKzAwMDAKCiAgICBNSVBTOiBzdG9yZTggZnVuY3Rpb25zIGFkZGVkIHRv
IE1hY3JvQXNzZW1ibGVyLgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGNhNzEwMGUuLmEx
NTE4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA5
LTIxICBCYWxhenMgS2lsdmFkeSAgPGtpbHZhZHliQGhvbWVqaW5uaS5jb20+CisKKyAgICAgICAg
TUlQUzogc3RvcmU4IGZ1bmN0aW9ucyBhZGRlZCB0byBNYWNyb0Fzc2VtYmxlci4KKworICAgICAg
ICBNSVBTIHN0b3JlOCBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk3MjQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIE1JUFMgc3RvcmU4IGZ1bmN0aW9ucy4KKworICAgICAgICAqIGFz
c2VtYmxlci9NSVBTQXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6Ok1JUFNBc3NlbWJsZXI6Omxo
dSk6IE5ldyBmdW5jdGlvbi4KKyAgICAgICAgKE1JUFNBc3NlbWJsZXIpOgorICAgICAgICAoSlND
OjpNSVBTQXNzZW1ibGVyOjpzYik6IE5ldyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6TUlQU0Fz
c2VtYmxlcjo6c2gpOiBOZXcgZnVuY3Rpb24uCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyTUlQUy5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlck1JUFM6OnN0b3JlOCk6
IE5ldyBmdW5jdGlvbi4KKyAgICAgICAgKE1hY3JvQXNzZW1ibGVyTUlQUyk6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyTUlQUzo6c3RvcmUxNik6IE5ldyBmdW5jdGlvbi4KKwogMjAxMi0w
OS0yMCAgR2Fib3IgUmFwY3NhbnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0
XSByMTI5MDQ1IGJyb2tlIHRoZSBBUk0gYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTUlQU0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NSVBTQXNzZW1ibGVyLmgKaW5kZXggNjUzMDdkOS4uZDNmOGFmOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NSVBTQXNzZW1ibGVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NSVBTQXNzZW1ibGVyLmgKQEAgLTQw
NSw2ICs0MDUsMTggQEAgcHVibGljOgogICAgICAgICBsb2FkRGVsYXlOb3AoKTsKICAgICB9CiAK
KyAgICB2b2lkIHNiKFJlZ2lzdGVySUQgcnQsIFJlZ2lzdGVySUQgcnMsIGludCBvZmZzZXQpCisg
ICAgeworICAgICAgICBlbWl0SW5zdCgweGEwMDAwMDAwIHwgKHJ0IDw8IE9QX1NIX1JUKSB8IChy
cyA8PCBPUF9TSF9SUykKKyAgICAgICAgICAgICAgICAgfCAob2Zmc2V0ICYgMHhmZmZmKSk7Cisg
ICAgfQorCisgICAgdm9pZCBzaChSZWdpc3RlcklEIHJ0LCBSZWdpc3RlcklEIHJzLCBpbnQgb2Zm
c2V0KQorICAgIHsKKyAgICAgICAgZW1pdEluc3QoMHhhNDAwMDAwMCB8IChydCA8PCBPUF9TSF9S
VCkgfCAocnMgPDwgT1BfU0hfUlMpCisgICAgICAgICAgICAgICAgIHwgKG9mZnNldCAmIDB4ZmZm
ZikpOworICAgIH0KKwogICAgIHZvaWQgc3coUmVnaXN0ZXJJRCBydCwgUmVnaXN0ZXJJRCBycywg
aW50IG9mZnNldCkKICAgICB7CiAgICAgICAgIGVtaXRJbnN0KDB4YWMwMDAwMDAgfCAocnQgPDwg
T1BfU0hfUlQpIHwgKHJzIDw8IE9QX1NIX1JTKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKaW5kZXggOGIzY2U5Zi4uY2ZkNmE2
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
Ymxlck1JUFMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyTUlQUy5oCkBAIC03NzksNiArNzc5LDgxIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IGRhdGFMYWJlbDsKICAgICB9CiAKKyAgICB2b2lkIHN0b3JlOChSZWdpc3RlcklEIHNyYywgQmFz
ZUluZGV4IGFkZHJlc3MpCisgICAgeworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQgPj0gLTMy
NzY4ICYmIGFkZHJlc3Mub2Zmc2V0IDw9IDMyNzY3CisgICAgICAgICAgICAmJiAhbV9maXhlZFdp
ZHRoKSB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgIHNsbCAgICAgYWRkclRlbXAs
IGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUKKyAgICAgICAgICAgICAgICBhZGR1ICAgIGFk
ZHJUZW1wLCBhZGRyVGVtcCwgYWRkcmVzcy5iYXNlCisgICAgICAgICAgICAgICAgc2IgICAgICBz
cmMsIGFkZHJlc3Mub2Zmc2V0KGFkZHJUZW1wKQorICAgICAgICAgICAgKi8KKyAgICAgICAgICAg
IG1fYXNzZW1ibGVyLnNsbChhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNz
LnNjYWxlKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHUoYWRkclRlbXBSZWdpc3Rlciwg
YWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5iYXNlKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVy
LnNiKHNyYywgYWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5vZmZzZXQpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICBzbGwgICAgIGFkZHJUZW1wLCBh
ZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlCisgICAgICAgICAgICAgICAgYWRkdSAgICBhZGRy
VGVtcCwgYWRkclRlbXAsIGFkZHJlc3MuYmFzZQorICAgICAgICAgICAgICAgIGx1aSAgICAgaW1t
VGVtcCwgKGFkZHJlc3Mub2Zmc2V0ICsgMHg4MDAwKSA+PiAxNgorICAgICAgICAgICAgICAgIGFk
ZHUgICAgYWRkclRlbXAsIGFkZHJUZW1wLCBpbW1UZW1wCisgICAgICAgICAgICAgICAgc2IgICAg
ICBzcmMsIChhZGRyZXNzLm9mZnNldCAmIDB4ZmZmZikoYXQpCisgICAgICAgICAgICAqLworICAg
ICAgICAgICAgbV9hc3NlbWJsZXIuc2xsKGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3MuaW5kZXgs
IGFkZHJlc3Muc2NhbGUpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkdShhZGRyVGVtcFJl
Z2lzdGVyLCBhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLmJhc2UpOworICAgICAgICAgICAgbV9h
c3NlbWJsZXIubHVpKGltbVRlbXBSZWdpc3RlciwgKGFkZHJlc3Mub2Zmc2V0ICsgMHg4MDAwKSA+
PiAxNik7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGR1KGFkZHJUZW1wUmVnaXN0ZXIsIGFk
ZHJUZW1wUmVnaXN0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltbVRlbXBSZWdp
c3Rlcik7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zYihzcmMsIGFkZHJUZW1wUmVnaXN0ZXIs
IGFkZHJlc3Mub2Zmc2V0KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgc3RvcmU4KFRy
dXN0ZWRJbW0zMiBpbW0sIHZvaWQqIGFkZHJlc3MpCisgICAgeworICAgICAgICAvKgorICAgICAg
ICAgICAgbGkgIGltbVRlbXAsIGltbQorICAgICAgICAgICAgbGkgIGFkZHJUZW1wLCBhZGRyZXNz
CisgICAgICAgICAgICBzYiAgc3JjLCAwKGFkZHJUZW1wKQorICAgICAgICAqLworICAgICAgICBp
ZiAoIWltbS5tX3ZhbHVlICYmICFtX2ZpeGVkV2lkdGgpIHsKKyAgICAgICAgICAgIG1vdmUoVHJ1
c3RlZEltbVB0cihhZGRyZXNzKSwgYWRkclRlbXBSZWdpc3Rlcik7CisgICAgICAgICAgICBtX2Fz
c2VtYmxlci5zYihNSVBTUmVnaXN0ZXJzOjp6ZXJvLCBhZGRyVGVtcFJlZ2lzdGVyLCAwKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIG1vdmUoaW1tLCBpbW1UZW1wUmVnaXN0ZXIpOwor
ICAgICAgICAgICAgbW92ZShUcnVzdGVkSW1tUHRyKGFkZHJlc3MpLCBhZGRyVGVtcFJlZ2lzdGVy
KTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNiKGltbVRlbXBSZWdpc3RlciwgYWRkclRlbXBS
ZWdpc3RlciwgMCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHN0b3JlMTYoUmVnaXN0
ZXJJRCBzcmMsIEJhc2VJbmRleCBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgaWYgKGFkZHJlc3Mu
b2Zmc2V0ID49IC0zMjc2OCAmJiBhZGRyZXNzLm9mZnNldCA8PSAzMjc2NworICAgICAgICAgICAg
JiYgIW1fZml4ZWRXaWR0aCkgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICBzbGwg
ICAgIGFkZHJUZW1wLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlCisgICAgICAgICAgICAg
ICAgYWRkdSAgICBhZGRyVGVtcCwgYWRkclRlbXAsIGFkZHJlc3MuYmFzZQorICAgICAgICAgICAg
ICAgIHNoICAgICAgc3JjLCBhZGRyZXNzLm9mZnNldChhZGRyVGVtcCkKKyAgICAgICAgICAgICov
CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zbGwoYWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5p
bmRleCwgYWRkcmVzcy5zY2FsZSk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGR1KGFkZHJU
ZW1wUmVnaXN0ZXIsIGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3MuYmFzZSk7CisgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5zaChzcmMsIGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3Mub2Zmc2V0KTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgc2xsICAg
ICBhZGRyVGVtcCwgYWRkcmVzcy5pbmRleCwgYWRkcmVzcy5zY2FsZQorICAgICAgICAgICAgICAg
IGFkZHUgICAgYWRkclRlbXAsIGFkZHJUZW1wLCBhZGRyZXNzLmJhc2UKKyAgICAgICAgICAgICAg
ICBsdWkgICAgIGltbVRlbXAsIChhZGRyZXNzLm9mZnNldCArIDB4ODAwMCkgPj4gMTYKKyAgICAg
ICAgICAgICAgICBhZGR1ICAgIGFkZHJUZW1wLCBhZGRyVGVtcCwgaW1tVGVtcAorICAgICAgICAg
ICAgICAgIHNoICAgICAgc3JjLCAoYWRkcmVzcy5vZmZzZXQgJiAweGZmZmYpKGF0KQorICAgICAg
ICAgICAgKi8KKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNsbChhZGRyVGVtcFJlZ2lzdGVyLCBh
ZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFk
ZHUoYWRkclRlbXBSZWdpc3RlciwgYWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5iYXNlKTsKKyAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLmx1aShpbW1UZW1wUmVnaXN0ZXIsIChhZGRyZXNzLm9mZnNl
dCArIDB4ODAwMCkgPj4gMTYpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkdShhZGRyVGVt
cFJlZ2lzdGVyLCBhZGRyVGVtcFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbW1UZW1wUmVnaXN0ZXIpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuc2goc3JjLCBhZGRy
VGVtcFJlZ2lzdGVyLCBhZGRyZXNzLm9mZnNldCk7CisgICAgICAgIH0KKyAgICB9CisKICAgICB2
b2lkIHN0b3JlMzIoUmVnaXN0ZXJJRCBzcmMsIEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAg
IHsKICAgICAgICAgaWYgKGFkZHJlc3Mub2Zmc2V0ID49IC0zMjc2OCAmJiBhZGRyZXNzLm9mZnNl
dCA8PSAzMjc2Nwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165085</attachid>
            <date>2012-09-21 02:15:45 -0700</date>
            <delta_ts>2012-09-24 08:05:06 -0700</delta_ts>
            <desc>MIPS store8 functions</desc>
            <filename>mips_assembler.diff</filename>
            <type>text/plain</type>
            <size>5579</size>
            <attacher name="Balazs Kilvady">kilvadyb</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGNhNzEwMGUuLmExNTE4OTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA5LTIxICBCYWxhenMgS2lsdmFk
eSAgPGtpbHZhZHliQGhvbWVqaW5uaS5jb20+CisKKyAgICAgICAgTUlQUzogc3RvcmU4IGZ1bmN0
aW9ucyBhZGRlZCB0byBNYWNyb0Fzc2VtYmxlci4KKworICAgICAgICBNSVBTIHN0b3JlOCBmdW5j
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3
MjQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IE1JUFMgc3RvcmU4IGZ1bmN0aW9ucy4KKworICAgICAgICAqIGFzc2VtYmxlci9NSVBTQXNzZW1i
bGVyLmg6CisgICAgICAgIChKU0M6Ok1JUFNBc3NlbWJsZXI6OmxodSk6IE5ldyBmdW5jdGlvbi4K
KyAgICAgICAgKE1JUFNBc3NlbWJsZXIpOgorICAgICAgICAoSlNDOjpNSVBTQXNzZW1ibGVyOjpz
Yik6IE5ldyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6TUlQU0Fzc2VtYmxlcjo6c2gpOiBOZXcg
ZnVuY3Rpb24uCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oOgorICAg
ICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlck1JUFM6OnN0b3JlOCk6IE5ldyBmdW5jdGlvbi4KKyAg
ICAgICAgKE1hY3JvQXNzZW1ibGVyTUlQUyk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
TUlQUzo6c3RvcmUxNik6IE5ldyBmdW5jdGlvbi4KKwogMjAxMi0wOS0yMCAgR2Fib3IgUmFwY3Nh
bnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSByMTI5MDQ1IGJyb2tlIHRo
ZSBBUk0gYnVpbGQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TUlQU0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NSVBTQXNz
ZW1ibGVyLmgKaW5kZXggNjUzMDdkOS4uZDNmOGFmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NSVBTQXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NSVBTQXNzZW1ibGVyLmgKQEAgLTQwNSw2ICs0MDUsMTggQEAgcHVi
bGljOgogICAgICAgICBsb2FkRGVsYXlOb3AoKTsKICAgICB9CiAKKyAgICB2b2lkIHNiKFJlZ2lz
dGVySUQgcnQsIFJlZ2lzdGVySUQgcnMsIGludCBvZmZzZXQpCisgICAgeworICAgICAgICBlbWl0
SW5zdCgweGEwMDAwMDAwIHwgKHJ0IDw8IE9QX1NIX1JUKSB8IChycyA8PCBPUF9TSF9SUykKKyAg
ICAgICAgICAgICAgICAgfCAob2Zmc2V0ICYgMHhmZmZmKSk7CisgICAgfQorCisgICAgdm9pZCBz
aChSZWdpc3RlcklEIHJ0LCBSZWdpc3RlcklEIHJzLCBpbnQgb2Zmc2V0KQorICAgIHsKKyAgICAg
ICAgZW1pdEluc3QoMHhhNDAwMDAwMCB8IChydCA8PCBPUF9TSF9SVCkgfCAocnMgPDwgT1BfU0hf
UlMpCisgICAgICAgICAgICAgICAgIHwgKG9mZnNldCAmIDB4ZmZmZikpOworICAgIH0KKwogICAg
IHZvaWQgc3coUmVnaXN0ZXJJRCBydCwgUmVnaXN0ZXJJRCBycywgaW50IG9mZnNldCkKICAgICB7
CiAgICAgICAgIGVtaXRJbnN0KDB4YWMwMDAwMDAgfCAocnQgPDwgT1BfU0hfUlQpIHwgKHJzIDw8
IE9QX1NIX1JTKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlck1JUFMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJNSVBTLmgKaW5kZXggOGIzY2U5Zi4uY2ZkNmE2NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCkBAIC03
NzksNiArNzc5LDgxIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGRhdGFMYWJlbDsKICAgICB9
CiAKKyAgICB2b2lkIHN0b3JlOChSZWdpc3RlcklEIHNyYywgQmFzZUluZGV4IGFkZHJlc3MpCisg
ICAgeworICAgICAgICBpZiAoYWRkcmVzcy5vZmZzZXQgPj0gLTMyNzY4ICYmIGFkZHJlc3Mub2Zm
c2V0IDw9IDMyNzY3CisgICAgICAgICAgICAmJiAhbV9maXhlZFdpZHRoKSB7CisgICAgICAgICAg
ICAvKgorICAgICAgICAgICAgICAgIHNsbCAgICAgYWRkclRlbXAsIGFkZHJlc3MuaW5kZXgsIGFk
ZHJlc3Muc2NhbGUKKyAgICAgICAgICAgICAgICBhZGR1ICAgIGFkZHJUZW1wLCBhZGRyVGVtcCwg
YWRkcmVzcy5iYXNlCisgICAgICAgICAgICAgICAgc2IgICAgICBzcmMsIGFkZHJlc3Mub2Zmc2V0
KGFkZHJUZW1wKQorICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNsbChh
ZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlKTsKKyAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLmFkZHUoYWRkclRlbXBSZWdpc3RlciwgYWRkclRlbXBSZWdpc3Rlciwg
YWRkcmVzcy5iYXNlKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnNiKHNyYywgYWRkclRlbXBS
ZWdpc3RlciwgYWRkcmVzcy5vZmZzZXQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
LyoKKyAgICAgICAgICAgICAgICBzbGwgICAgIGFkZHJUZW1wLCBhZGRyZXNzLmluZGV4LCBhZGRy
ZXNzLnNjYWxlCisgICAgICAgICAgICAgICAgYWRkdSAgICBhZGRyVGVtcCwgYWRkclRlbXAsIGFk
ZHJlc3MuYmFzZQorICAgICAgICAgICAgICAgIGx1aSAgICAgaW1tVGVtcCwgKGFkZHJlc3Mub2Zm
c2V0ICsgMHg4MDAwKSA+PiAxNgorICAgICAgICAgICAgICAgIGFkZHUgICAgYWRkclRlbXAsIGFk
ZHJUZW1wLCBpbW1UZW1wCisgICAgICAgICAgICAgICAgc2IgICAgICBzcmMsIChhZGRyZXNzLm9m
ZnNldCAmIDB4ZmZmZikoYXQpCisgICAgICAgICAgICAqLworICAgICAgICAgICAgbV9hc3NlbWJs
ZXIuc2xsKGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUpOwor
ICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkdShhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyVGVtcFJl
Z2lzdGVyLCBhZGRyZXNzLmJhc2UpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIubHVpKGltbVRl
bXBSZWdpc3RlciwgKGFkZHJlc3Mub2Zmc2V0ICsgMHg4MDAwKSA+PiAxNik7CisgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5hZGR1KGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJUZW1wUmVnaXN0ZXIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltbVRlbXBSZWdpc3Rlcik7CisgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5zYihzcmMsIGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3Mub2Zmc2V0KTsK
KyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgc3RvcmU4KFRydXN0ZWRJbW0zMiBpbW0sIHZv
aWQqIGFkZHJlc3MpCisgICAgeworICAgICAgICAvKgorICAgICAgICAgICAgbGkgIGltbVRlbXAs
IGltbQorICAgICAgICAgICAgbGkgIGFkZHJUZW1wLCBhZGRyZXNzCisgICAgICAgICAgICBzYiAg
c3JjLCAwKGFkZHJUZW1wKQorICAgICAgICAqLworICAgICAgICBpZiAoIWltbS5tX3ZhbHVlICYm
ICFtX2ZpeGVkV2lkdGgpIHsKKyAgICAgICAgICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhZGRyZXNz
KSwgYWRkclRlbXBSZWdpc3Rlcik7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zYihNSVBTUmVn
aXN0ZXJzOjp6ZXJvLCBhZGRyVGVtcFJlZ2lzdGVyLCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIG1vdmUoaW1tLCBpbW1UZW1wUmVnaXN0ZXIpOworICAgICAgICAgICAgbW92ZShU
cnVzdGVkSW1tUHRyKGFkZHJlc3MpLCBhZGRyVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgICAgIG1f
YXNzZW1ibGVyLnNiKGltbVRlbXBSZWdpc3RlciwgYWRkclRlbXBSZWdpc3RlciwgMCk7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHN0b3JlMTYoUmVnaXN0ZXJJRCBzcmMsIEJhc2VJbmRl
eCBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgaWYgKGFkZHJlc3Mub2Zmc2V0ID49IC0zMjc2OCAm
JiBhZGRyZXNzLm9mZnNldCA8PSAzMjc2NworICAgICAgICAgICAgJiYgIW1fZml4ZWRXaWR0aCkg
eworICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICBzbGwgICAgIGFkZHJUZW1wLCBhZGRy
ZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlCisgICAgICAgICAgICAgICAgYWRkdSAgICBhZGRyVGVt
cCwgYWRkclRlbXAsIGFkZHJlc3MuYmFzZQorICAgICAgICAgICAgICAgIHNoICAgICAgc3JjLCBh
ZGRyZXNzLm9mZnNldChhZGRyVGVtcCkKKyAgICAgICAgICAgICovCisgICAgICAgICAgICBtX2Fz
c2VtYmxlci5zbGwoYWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5pbmRleCwgYWRkcmVzcy5zY2Fs
ZSk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGR1KGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJU
ZW1wUmVnaXN0ZXIsIGFkZHJlc3MuYmFzZSk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zaChz
cmMsIGFkZHJUZW1wUmVnaXN0ZXIsIGFkZHJlc3Mub2Zmc2V0KTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAgc2xsICAgICBhZGRyVGVtcCwgYWRkcmVz
cy5pbmRleCwgYWRkcmVzcy5zY2FsZQorICAgICAgICAgICAgICAgIGFkZHUgICAgYWRkclRlbXAs
IGFkZHJUZW1wLCBhZGRyZXNzLmJhc2UKKyAgICAgICAgICAgICAgICBsdWkgICAgIGltbVRlbXAs
IChhZGRyZXNzLm9mZnNldCArIDB4ODAwMCkgPj4gMTYKKyAgICAgICAgICAgICAgICBhZGR1ICAg
IGFkZHJUZW1wLCBhZGRyVGVtcCwgaW1tVGVtcAorICAgICAgICAgICAgICAgIHNoICAgICAgc3Jj
LCAoYWRkcmVzcy5vZmZzZXQgJiAweGZmZmYpKGF0KQorICAgICAgICAgICAgKi8KKyAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLnNsbChhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyZXNzLmluZGV4LCBhZGRy
ZXNzLnNjYWxlKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHUoYWRkclRlbXBSZWdpc3Rl
ciwgYWRkclRlbXBSZWdpc3RlciwgYWRkcmVzcy5iYXNlKTsKKyAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmx1aShpbW1UZW1wUmVnaXN0ZXIsIChhZGRyZXNzLm9mZnNldCArIDB4ODAwMCkgPj4gMTYp
OworICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkdShhZGRyVGVtcFJlZ2lzdGVyLCBhZGRyVGVt
cFJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbW1UZW1wUmVnaXN0ZXIp
OworICAgICAgICAgICAgbV9hc3NlbWJsZXIuc2goc3JjLCBhZGRyVGVtcFJlZ2lzdGVyLCBhZGRy
ZXNzLm9mZnNldCk7CisgICAgICAgIH0KKyAgICB9CisKICAgICB2b2lkIHN0b3JlMzIoUmVnaXN0
ZXJJRCBzcmMsIEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAgIHsKICAgICAgICAgaWYgKGFk
ZHJlc3Mub2Zmc2V0ID49IC0zMjc2OCAmJiBhZGRyZXNzLm9mZnNldCA8PSAzMjc2Nwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>