<?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>117542</bug_id>
          
          <creation_ts>2013-06-12 07:22:14 -0700</creation_ts>
          <short_desc>ARM JSC negative zero check missing from compileSoftModulo() after r149152</short_desc>
          <delta_ts>2022-02-27 23:26:53 -0800</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>Unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          
          <blocked>108645</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gabor Rapcsanyi">rgabor</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>zan</cc>
    
    <cc>zherczeg</cc>
    
    <cc>zhroma</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>899534</commentid>
    <comment_count>0</comment_count>
    <who name="Gabor Rapcsanyi">rgabor</who>
    <bug_when>2013-06-12 07:22:14 -0700</bug_when>
    <thetext>The following tests are failing after r149152 on ARM thumb and traditional:

  fast/js/integer-division-neg2tothe32-by-neg1.html [ Failure ]
  fast/js/regress/negative-zero-modulo.html [ Failure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899536</commentid>
    <comment_count>1</comment_count>
      <attachid>204435</attachid>
    <who name="Gabor Rapcsanyi">rgabor</who>
    <bug_when>2013-06-12 07:23:56 -0700</bug_when>
    <thetext>Created attachment 204435
small js test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899537</commentid>
    <comment_count>2</comment_count>
      <attachid>204436</attachid>
    <who name="Gabor Rapcsanyi">rgabor</who>
    <bug_when>2013-06-12 07:24:39 -0700</bug_when>
    <thetext>Created attachment 204436
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899600</commentid>
    <comment_count>3</comment_count>
    <who name="Roman Zhuykov">zhroma</who>
    <bug_when>2013-06-12 10:11:40 -0700</bug_when>
    <thetext>We shouldn&apos;t enable negative-zero check like &quot;result == 0&quot; back.
Now the assembly code tries to check correct condition &quot;dividend &lt; 0 &amp;&amp; result == 0&quot;, but does it wrong, because op1GPR register (where dividend is stored) is clobbered while calling operationFModOnInts() and fmod() functions.

I have tried this patch, but the new temporary register is also clobbered:

diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
@@ -3047,9 +3047,11 @@ void SpeculativeJIT::compileSoftModulo(Node* node)
     // and then attempt to convert back.
     GPRReg op1GPR = op1.gpr();
     GPRReg op2GPR = op2.gpr();
+    GPRTemporary op1Save(this);

     FPRResult result(this);

+    m_jit.move(op1GPR, op1Save.gpr());
     flushRegisters();
     callOperation(operationFModOnInts, result.fpr(), op1GPR, op2GPR);

@@ -3060,7 +3062,7 @@ void SpeculativeJIT::compileSoftModulo(Node* node)
     speculationCheck(Overflow, JSValueRegs(), 0, failureCases);
     if (!nodeCanIgnoreNegativeZero(node-&gt;arithNodeFlags())) {
         // Check that we&apos;re not about to create negative zero.
-        JITCompiler::Jump numeratorPositive = m_jit.branch32(JITCompiler::GreaterThanOrEqual, op1GPR, TrustedImm32(0));
+        JITCompiler::Jump numeratorPositive = m_jit.branch32(JITCompiler::GreaterThanOrEqual, op1Save.gpr(), TrustedImm32(0));
         speculationCheck(NegativeZero, JSValueRegs(), 0, m_jit.branchTest32(JITCompiler::Zero, intResult.gpr()));
         numeratorPositive.link(&amp;m_jit);
     }

I don&apos;t know what is a proper way to save dividend value for negative-zero checks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899962</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-06-13 03:09:15 -0700</bug_when>
    <thetext>*** Bug 105304 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899963</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-06-13 03:09:55 -0700</bug_when>
    <thetext>Adding the ARM meta bug, and please unskip them when you land the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900000</commentid>
    <comment_count>6</comment_count>
      <attachid>204579</attachid>
    <who name="Roman Zhuykov">zhroma</who>
    <bug_when>2013-06-13 06:22:52 -0700</bug_when>
    <thetext>Created attachment 204579
Proposed patch

The problem may be fixed using silentSpillAllRegisters and silentFillAllRegisters around the call. Is it OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>900007</commentid>
    <comment_count>7</comment_count>
    <who name="Gabor Rapcsanyi">rgabor</who>
    <bug_when>2013-06-13 06:51:05 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=204579) [details]
&gt; Proposed patch
&gt; 
&gt; The problem may be fixed using silentSpillAllRegisters and silentFillAllRegisters around the call. Is it OK?

It worked for me and the generated code seems fine as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905296</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-07-02 02:16:08 -0700</bug_when>
    <thetext>adding more JSC reviewer and ping for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921483</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-27 06:34:28 -0700</bug_when>
    <thetext>ping for review? Is there a JSC reviewer somewhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>921595</commentid>
    <comment_count>10</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-08-27 11:13:07 -0700</bug_when>
    <thetext>Is this patch up to date? I don&apos;t see a call to operationFModOnInts in trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196148</commentid>
    <comment_count>11</comment_count>
      <attachid>204579</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-24 22:00:34 -0700</bug_when>
    <thetext>Comment on attachment 204579
Proposed patch

Assuming that patches for review since 2013 are stale, r-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361610</commentid>
    <comment_count>12</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-10-18 01:53:00 -0700</bug_when>
    <thetext>These failures aren&apos;t exhibited anymore.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>204435</attachid>
            <date>2013-06-12 07:23:56 -0700</date>
            <delta_ts>2013-06-12 07:23:56 -0700</delta_ts>
            <desc>small js test</desc>
            <filename>test.js</filename>
            <type>text/plain</type>
            <size>224</size>
            <attacher name="Gabor Rapcsanyi">rgabor</attacher>
            
              <data encoding="base64">Ly8gZnJvbTogZmFzdC9qcy9pbnRlZ2VyLWRpdmlzaW9uLW5lZzJ0b3RoZTMyLWJ5LW5lZzEuaHRt
bCAtPiBmYWlsZWQKCmZ1bmN0aW9uIG15TW9kKGEsIGIpIHsKICAgIHJldHVybiBhICUgYjsKfQoK
dmFyIHggPSAtMjsKdmFyIHkgPSAtMTsKdmFyIGE7Cgpmb3IgKHZhciBpID0gMDsgaSA8IDgwOyAr
K2kpIHsKICAgIGEgPSAoMSAvIG15TW9kKHgsIHkpKSA8IDA7CiAgICBwcmludChhKTsKfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204436</attachid>
            <date>2013-06-12 07:24:39 -0700</date>
            <delta_ts>2013-06-13 06:47:47 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>zero_check.patch</filename>
            <type>text/plain</type>
            <size>1558</size>
            <attacher name="Gabor Rapcsanyi">rgabor</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGI3YTlkNmEuLjViY2Y3YjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA2LTEyICBHYWJvciBSYXBjc2Fu
eWkgIDxyZ2Fib3JAd2Via2l0Lm9yZz4KKworICAgICAgICBBUk0gSlNDIG5lZ2F0aXZlIHplcm8g
Y2hlY2sgbWlzc2luZyBmcm9tIGNvbXBpbGVTb2Z0TW9kdWxvKCkgYWZ0ZXIgcjE0OTE1MgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3NTQyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHV0IGJhY2sgbmVn
YXRpdmUgemVybyBjaGVjayB0byBicmFuY2hDb252ZXJ0RG91YmxlVG9JbnQzMigpLgorCisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZVNvZnRNb2R1bG8pOgorCiAyMDEzLTA2LTEwICBSYXBoYWVsIEt1
Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgogCiAgICAgICAg
IFtKU0NdIFJlbW92ZSBhIHZlc3RpZ2Ugb2Ygd3hXaWRnZXRzIHN1cHBvcnQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmluZGV4IGU4OGMwZDUu
LmIzYTE4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwCkBAIC0zMDU2LDcgKzMwNTYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlU29mdE1vZHVsbyhOb2RlKiBub2RlKQogICAgIEZQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMp
OwogICAgIEdQUlRlbXBvcmFyeSBpbnRSZXN1bHQodGhpcyk7CiAgICAgSklUQ29tcGlsZXI6Okp1
bXBMaXN0IGZhaWx1cmVDYXNlczsKLSAgICBtX2ppdC5icmFuY2hDb252ZXJ0RG91YmxlVG9JbnQz
MihyZXN1bHQuZnByKCksIGludFJlc3VsdC5ncHIoKSwgZmFpbHVyZUNhc2VzLCBzY3JhdGNoLmZw
cigpLCBmYWxzZSk7CisgICAgbV9qaXQuYnJhbmNoQ29udmVydERvdWJsZVRvSW50MzIocmVzdWx0
LmZwcigpLCBpbnRSZXN1bHQuZ3ByKCksIGZhaWx1cmVDYXNlcywgc2NyYXRjaC5mcHIoKSk7CiAg
ICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgZmFpbHVyZUNh
c2VzKTsKICAgICBpZiAoIW5vZGVDYW5JZ25vcmVOZWdhdGl2ZVplcm8obm9kZS0+YXJpdGhOb2Rl
RmxhZ3MoKSkpIHsKICAgICAgICAgLy8gQ2hlY2sgdGhhdCB3ZSdyZSBub3QgYWJvdXQgdG8gY3Jl
YXRlIG5lZ2F0aXZlIHplcm8uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204579</attachid>
            <date>2013-06-13 06:22:52 -0700</date>
            <delta_ts>2022-02-27 23:26:53 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>to-send-fixed-neg-zero.patch</filename>
            <type>text/plain</type>
            <size>5165</size>
            <attacher name="Roman Zhuykov">zhroma</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjM2E4Njg5Li45NjFmODQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDYt
MTMgIFJvbWFuIFpodXlrb3YgIDx6aHJvbWFAaXNwcmFzLnJ1PgorCisgICAgICAgIE5lZ2F0aXZl
IHplcm8gY2hlY2sgc2hvdWxkIHJlY2VpdmUgcHJvcGVyIHZhbHVlcyBhZnRlciBtb2R1bG8gb3Bl
cmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE3NTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2pzL3JlZ3Jlc3MvbmVnYXRpdmUtemVyby1tb2R1bG8tcG93dHdvLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9yZWdyZXNzL25lZ2F0aXZlLXplcm8tbW9kdWxv
LXBvd3R3by5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3JlZ3Jlc3Mvc2NyaXB0LXRl
c3RzL25lZ2F0aXZlLXplcm8tbW9kdWxvLXBvd3R3by5qczogQ29waWVkIGZyb20gTGF5b3V0VGVz
dHMvZmFzdC9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9uZWdhdGl2ZS16ZXJvLW1vZHVsby5qcy4K
KyAgICAgICAgKGZvbyk6CisgICAgICAgICogZmFzdC9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9u
ZWdhdGl2ZS16ZXJvLW1vZHVsby5qczoKKyAgICAgICAgKGZvbyk6CisKIDIwMTMtMDYtMTIgIENz
YWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbQVJNXSBVbnJl
dmlld2VkIGdhcmRlbmluZywgc2tpcCBvbmUgbW9yZSB0ZXN0IHRvIHBhaW50IHRoZSBib3QgZ3Jl
ZW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ3Jlc3MvbmVnYXRpdmUtemVy
by1tb2R1bG8tcG93dHdvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVncmVz
cy9uZWdhdGl2ZS16ZXJvLW1vZHVsby1wb3d0d28tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MjMzN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2pzL3JlZ3Jlc3MvbmVnYXRpdmUtemVyby1tb2R1bG8tcG93dHdvLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvbmVnYXRpdmUtemVyby1tb2R1bG8tcG93
dHdvCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG5vIGV4Y2VwdGlvbiB0
aHJvd24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ3Jlc3MvbmVnYXRpdmUtemVyby1t
b2R1bG8tcG93dHdvLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ3Jlc3MvbmVnYXRpdmUt
emVyby1tb2R1bG8tcG93dHdvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMDFkYmMyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVncmVz
cy9uZWdhdGl2ZS16ZXJvLW1vZHVsby1wb3d0d28uaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVncmVzcy1wcmUuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9uZWdhdGl2ZS16ZXJvLW1vZHVsby1w
b3d0d28uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXBvc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9uZWdhdGl2ZS16ZXJvLW1vZHVsby1wb3d0d28uanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL25lZ2F0aXZlLXplcm8t
bW9kdWxvLXBvd3R3by5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGJm
ZjdiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZWdyZXNzL3Njcmlw
dC10ZXN0cy9uZWdhdGl2ZS16ZXJvLW1vZHVsby1wb3d0d28uanMKQEAgLTAsMCArMSwxOCBAQAor
ZnVuY3Rpb24gZm9vKCkgeworICB2YXIgeCA9IDQ7CisgIHZhciBzOworICB2YXIgaTsKKyAgZm9y
IChpID0gMDsgaSA8IDIwMDE7IGkrKykgeworICAgIGlmIChpID09IDIwMDApCisgICAgICB4ID0g
LTQ7CisgICAgcyA9IDEvKHglNCk7CisgIH0KKyAgcmV0dXJuIHM7Cit9CisKK3ZhciB4ID0gKDEv
KCgtNCklNCkpLnRvU3RyaW5nKCk7Cit2YXIgeSA9IGZvbygpLnRvU3RyaW5nKCk7CisKK2lmICh4
ICE9IHkpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgeTsKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9uZWdhdGl2ZS16ZXJv
LW1vZHVsby5qcyBiL0xheW91dFRlc3RzL2Zhc3QvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvbmVn
YXRpdmUtemVyby1tb2R1bG8uanMKaW5kZXggOWRiZmY3Yi4uMGU1MGFjMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9uZWdhdGl2ZS16ZXJvLW1v
ZHVsby5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL25l
Z2F0aXZlLXplcm8tbW9kdWxvLmpzCkBAIC01LDEyICs1LDEyIEBAIGZ1bmN0aW9uIGZvbygpIHsK
ICAgZm9yIChpID0gMDsgaSA8IDIwMDE7IGkrKykgewogICAgIGlmIChpID09IDIwMDApCiAgICAg
ICB4ID0gLTQ7Ci0gICAgcyA9IDEvKHglNCk7CisgICAgcyA9IDEvKHglKC00KSk7CiAgIH0KICAg
cmV0dXJuIHM7CiB9CiAKLXZhciB4ID0gKDEvKCgtNCklNCkpLnRvU3RyaW5nKCk7Cit2YXIgeCA9
ICgxLygoLTQpJSgtNCkpKS50b1N0cmluZygpOwogdmFyIHkgPSBmb28oKS50b1N0cmluZygpOwog
CiBpZiAoeCAhPSB5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggM2VhYzlhMS4uZjQ1NTY2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDYtMTMg
IFJvbWFuIFpodXlrb3YgIDx6aHJvbWFAaXNwcmFzLnJ1PgorCisgICAgICAgIEFSTSBKU0MgbmVn
YXRpdmUgemVybyBjaGVjayBmaXggZm9yIGNvbXBpbGVTb2Z0TW9kdWxvKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzU0MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBzcGlsbCBhbmQgZmlsbCBy
ZWdpc3RlcnMgdG8gcmVzdG9yZSB0aGVtIGFmdGVyIGNhbGwuCisKKyAgICAgICAgKiBkZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpj
b21waWxlU29mdE1vZHVsbyk6CisKIDIwMTMtMDYtMTIgIENvbnJhZCBTaHVsdHogIDxjb25yYWRf
c2h1bHR6QGFwcGxlLmNvbT4KIAogICAgICAgICBKU0V4cG9ydCBoZWFkZXIgZG9jdW1lbnRhdGlv
biBzdWJzdGl0dXRlcyAic2VtaWNvbG9uIiBmb3IgImNvbG9uIgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBlODhjMGQ1Li45Y2MzMTFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNw
cApAQCAtMzA0OSwxNCArMzA0OSwxNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlU29m
dE1vZHVsbyhOb2RlKiBub2RlKQogICAgIEdQUlJlZyBvcDJHUFIgPSBvcDIuZ3ByKCk7CiAgICAg
CiAgICAgRlBSUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICBGUFJSZWcgcmVzdWx0RlBSID0gcmVz
dWx0LmZwcigpOwogICAgIAotICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25GTW9kT25JbnRzLCByZXN1bHQuZnByKCksIG9wMUdQUiwgb3AyR1BSKTsKKyAg
ICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRGUFIpOworICAgIGNhbGxPcGVyYXRpb24o
b3BlcmF0aW9uRk1vZE9uSW50cywgcmVzdWx0RlBSLCBvcDFHUFIsIG9wMkdQUik7CisgICAgc2ls
ZW50RmlsbEFsbFJlZ2lzdGVycyhyZXN1bHRGUFIpOwogICAgIAogICAgIEZQUlRlbXBvcmFyeSBz
Y3JhdGNoKHRoaXMpOwogICAgIEdQUlRlbXBvcmFyeSBpbnRSZXN1bHQodGhpcyk7CiAgICAgSklU
Q29tcGlsZXI6Okp1bXBMaXN0IGZhaWx1cmVDYXNlczsKLSAgICBtX2ppdC5icmFuY2hDb252ZXJ0
RG91YmxlVG9JbnQzMihyZXN1bHQuZnByKCksIGludFJlc3VsdC5ncHIoKSwgZmFpbHVyZUNhc2Vz
LCBzY3JhdGNoLmZwcigpLCBmYWxzZSk7CisgICAgbV9qaXQuYnJhbmNoQ29udmVydERvdWJsZVRv
SW50MzIocmVzdWx0RlBSLCBpbnRSZXN1bHQuZ3ByKCksIGZhaWx1cmVDYXNlcywgc2NyYXRjaC5m
cHIoKSwgZmFsc2UpOwogICAgIHNwZWN1bGF0aW9uQ2hlY2soT3ZlcmZsb3csIEpTVmFsdWVSZWdz
KCksIDAsIGZhaWx1cmVDYXNlcyk7CiAgICAgaWYgKCFub2RlQ2FuSWdub3JlTmVnYXRpdmVaZXJv
KG5vZGUtPmFyaXRoTm9kZUZsYWdzKCkpKSB7CiAgICAgICAgIC8vIENoZWNrIHRoYXQgd2UncmUg
bm90IGFib3V0IHRvIGNyZWF0ZSBuZWdhdGl2ZSB6ZXJvLgo=
</data>
<flag name="review"
          id="225983"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>