<?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>117066</bug_id>
          
          <creation_ts>2013-05-31 02:32:01 -0700</creation_ts>
          <short_desc>[sh4] Fix floating point comparisons in baseline JIT</short_desc>
          <delta_ts>2013-05-31 11:22:01 -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>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>0</everconfirmed>
          <reporter name="Julien Brianceau">jbriance</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>895833</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-05-31 02:32:01 -0700</bug_when>
    <thetext>Current implementation of branchDouble function in baseline JIT is wrong for some conditions (1) and overkill for others (2).

(1) With DoubleGreaterThanOrEqual condition for instance, branch will be taken if either operand is NaN with current implementation whereras it should not.
(2) With DoubleNotEqualOrUnordered condition for instance, performed NaN checks are useless (because comparison result is false if either operand is NaN).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895838</commentid>
    <comment_count>1</comment_count>
      <attachid>203428</attachid>
    <who name="Julien Brianceau">jbriance</who>
    <bug_when>2013-05-31 02:51:30 -0700</bug_when>
    <thetext>Created attachment 203428
Fix floating point comparisons in sh4 baseline JIT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895947</commentid>
    <comment_count>2</comment_count>
      <attachid>203428</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-31 11:21:58 -0700</bug_when>
    <thetext>Comment on attachment 203428
Fix floating point comparisons in sh4 baseline JIT

Clearing flags on attachment: 203428

Committed r151032: &lt;http://trac.webkit.org/changeset/151032&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895948</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-31 11:22:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203428</attachid>
            <date>2013-05-31 02:51:30 -0700</date>
            <delta_ts>2013-05-31 11:21:58 -0700</delta_ts>
            <desc>Fix floating point comparisons in sh4 baseline JIT</desc>
            <filename>bug-117066.patch</filename>
            <type>text/plain</type>
            <size>11123</size>
            <attacher name="Julien Brianceau">jbriance</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMDExKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDEzLTA1LTMxICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VhdUBuZHMuY29tPgorCisg
ICAgICAgIFtzaDRdIEZpeCBmbG9hdGluZyBwb2ludCBjb21wYXJpc29ucyBpbiBiYXNlbGluZSBK
SVQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcw
NjYuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3Vy
cmVudCBpbXBsZW1lbnRhdGlvbiBvZiBicmFuY2hEb3VibGUgZnVuY3Rpb24gaW4gYmFzZWxpbmUg
SklUIGlzIHdyb25nCisgICAgICAgIGZvciBzb21lIGNvbmRpdGlvbnMgYW5kIG92ZXJraWxsIGZv
ciBvdGhlcnMuIEZvciBpbnN0YW5jZToKKyAgICAgICAgLSBXaXRoIERvdWJsZUdyZWF0ZXJUaGFu
T3JFcXVhbCBjb25kaXRpb24sIGJyYW5jaCB3aWxsIGJlIHRha2VuIGlmIGVpdGhlcgorICAgICAg
ICAgIG9wZXJhbmQgaXMgTmFOIHdpdGggY3VycmVudCBpbXBsZW1lbnRhdGlvbiB3aGVyZXJhcyBp
dCBzaG91bGQgbm90LgorICAgICAgICAtIFdpdGggRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCBj
b25kaXRpb24sIHBlcmZvcm1lZCBOYU4gY2hlY2tzIGFyZQorICAgICAgICAgIHVzZWxlc3MgKGJl
Y2F1c2UgY29tcGFyaXNvbiByZXN1bHQgaXMgZmFsc2UgaWYgZWl0aGVyIG9wZXJhbmQgaXMgTmFO
KS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclNINC5oOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlclNINDo6YnJhbmNoRG91YmxlKToKKwogMjAxMy0wNS0zMCAgRGF2
aWQgRmFybGVyICA8ZGZhcmxlckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGpzY29yZS10ZXN0
IHdoZW4gbm90IHVzaW5nIC0tc2RrIG9wdGlvbiB3aXRoIGpzRHJpdmVyLnBsCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyU0g0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclNINC5o
CShyZXZpc2lvbiAxNTEwMDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyU0g0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNDIsMjAgKzEyNDIsMTMgQEAg
cHVibGljOgogICAgICAgICB9CiAKICAgICAgICAgaWYgKGNvbmQgPT0gRG91YmxlTm90RXF1YWwp
IHsKLSAgICAgICAgICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7CiAgICAgICAg
ICAgICBKdW1wTGlzdCBlbmQ7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQo
MHg3ZmJmZmZmZiwgc2NyYXRjaFJlZzMpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRz
KHJpZ2h0KTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLnN0c2ZwdWxSZWcoc2NyKTsKLSAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0
aW9uKEVxdWFsKSk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5kY21wcGVxKGxlZnQsIGxlZnQp
OwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuZW5zdXJlU3BhY2UobV9hc3NlbWJsZXIubWF4SW5z
dHJ1Y3Rpb25TaXplICsgMjIsIHNpemVvZih1aW50MzJfdCkpOwotICAgICAgICAgICAgZW5kLmFw
cGVuZChKdW1wKG1fYXNzZW1ibGVyLmplKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKLSAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbnZkcyhsZWZ0KTsKLSAgICAgICAgICAgIG1fYXNzZW1i
bGVyLnN0c2ZwdWxSZWcoc2NyKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWco
c2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7Ci0gICAgICAgICAgICBlbmQu
YXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuamUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVhcikpOwor
ICAgICAgICAgICAgZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVyLmpuZSgpLCBTSDRBc3NlbWJs
ZXI6Okp1bXBOZWFyKSk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5kY21wcGVxKHJpZ2h0LCBy
aWdodCk7CisgICAgICAgICAgICBlbmQuYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuam5lKCksIFNI
NEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbXBwZXEo
cmlnaHQsIGxlZnQpOwotICAgICAgICAgICAgcmVsZWFzZVNjcmF0Y2goc2NyKTsKICAgICAgICAg
ICAgIEp1bXAgbV9qdW1wID0gYnJhbmNoRmFsc2UoKTsKICAgICAgICAgICAgIGVuZC5saW5rKHRo
aXMpOwogICAgICAgICAgICAgcmV0dXJuIG1fanVtcDsKQEAgLTEyNjcsOCArMTI2MCwxNiBAQCBw
dWJsaWM6CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoY29uZCA9PSBEb3VibGVHcmVhdGVyVGhh
bk9yRXF1YWwpIHsKKyAgICAgICAgICAgIEp1bXBMaXN0IGVuZDsKKyAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLmRjbXBwZXEobGVmdCwgbGVmdCk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5lbnN1
cmVTcGFjZShtX2Fzc2VtYmxlci5tYXhJbnN0cnVjdGlvblNpemUgKyAyMiwgc2l6ZW9mKHVpbnQz
Ml90KSk7CisgICAgICAgICAgICBlbmQuYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuam5lKCksIFNI
NEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbXBwZXEo
cmlnaHQsIHJpZ2h0KTsKKyAgICAgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5q
bmUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVhcikpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIu
ZGNtcHBndChsZWZ0LCByaWdodCk7Ci0gICAgICAgICAgICByZXR1cm4gYnJhbmNoRmFsc2UoKTsK
KyAgICAgICAgICAgIEp1bXAgbV9qdW1wID0gYnJhbmNoRmFsc2UoKTsKKyAgICAgICAgICAgIGVu
ZC5saW5rKHRoaXMpOworICAgICAgICAgICAgcmV0dXJuIG1fanVtcDsKICAgICAgICAgfQogCiAg
ICAgICAgIGlmIChjb25kID09IERvdWJsZUxlc3NUaGFuKSB7CkBAIC0xMjc3LDEzNCArMTI3OCw3
MyBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoY29uZCA9PSBEb3VibGVMZXNz
VGhhbk9yRXF1YWwpIHsKKyAgICAgICAgICAgIEp1bXBMaXN0IGVuZDsKKyAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmRjbXBwZXEobGVmdCwgbGVmdCk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5l
bnN1cmVTcGFjZShtX2Fzc2VtYmxlci5tYXhJbnN0cnVjdGlvblNpemUgKyAyMiwgc2l6ZW9mKHVp
bnQzMl90KSk7CisgICAgICAgICAgICBlbmQuYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuam5lKCks
IFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbXBw
ZXEocmlnaHQsIHJpZ2h0KTsKKyAgICAgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxl
ci5qbmUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVhcikpOwogICAgICAgICAgICAgbV9hc3NlbWJs
ZXIuZGNtcHBndChyaWdodCwgbGVmdCk7Ci0gICAgICAgICAgICByZXR1cm4gYnJhbmNoRmFsc2Uo
KTsKKyAgICAgICAgICAgIEp1bXAgbV9qdW1wID0gYnJhbmNoRmFsc2UoKTsKKyAgICAgICAgICAg
IGVuZC5saW5rKHRoaXMpOworICAgICAgICAgICAgcmV0dXJuIG1fanVtcDsKICAgICAgICAgfQog
CiAgICAgICAgIGlmIChjb25kID09IERvdWJsZUVxdWFsT3JVbm9yZGVyZWQpIHsKLSAgICAgICAg
ICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgICAgICBKdW1wTGlz
dCBlbmQ7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoMHg3ZmJmZmZmZiwg
c2NyYXRjaFJlZzMpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRzKHJpZ2h0KTsKLSAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLnN0c2ZwdWxSZWcoc2NyKTsKLSAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7
CisgICAgICAgICAgICBKdW1wTGlzdCB0YWtlQnJhbmNoOworICAgICAgICAgICAgbV9hc3NlbWJs
ZXIuZGNtcHBlcShsZWZ0LCBsZWZ0KTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmVuc3VyZVNw
YWNlKG1fYXNzZW1ibGVyLm1heEluc3RydWN0aW9uU2l6ZSArIDIyLCBzaXplb2YodWludDMyX3Qp
KTsKLSAgICAgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qZSgpLCBTSDRBc3Nl
bWJsZXI6Okp1bXBOZWFyKSk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5kY252ZHMobGVmdCk7
Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVnKHNjcik7Ci0gICAgICAgICAgICBt
X2Fzc2VtYmxlci5jbXBsUmVnUmVnKHNjcmF0Y2hSZWczLCBzY3IsIFNINENvbmRpdGlvbihFcXVh
bCkpOwotICAgICAgICAgICAgZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVyLmplKCksIFNINEFz
c2VtYmxlcjo6SnVtcE5lYXIpKTsKKyAgICAgICAgICAgIHRha2VCcmFuY2guYXBwZW5kKEp1bXAo
bV9hc3NlbWJsZXIuam5lKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKKyAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmRjbXBwZXEocmlnaHQsIHJpZ2h0KTsKKyAgICAgICAgICAgIHRha2VCcmFu
Y2guYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuam5lKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIp
KTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbXBwZXEobGVmdCwgcmlnaHQpOwogICAgICAg
ICAgICAgSnVtcCBtX2p1bXAgPSBKdW1wKG1fYXNzZW1ibGVyLmplKCkpOwotICAgICAgICAgICAg
ZW5kLmxpbmsodGhpcyk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5leHRyYUluc3RyRm9yQnJh
bmNoKHNjcik7Ci0gICAgICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOworICAgICAgICAgICAg
dGFrZUJyYW5jaC5saW5rKHRoaXMpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuZXh0cmFJbnN0
ckZvckJyYW5jaChzY3JhdGNoUmVnMyk7CiAgICAgICAgICAgICByZXR1cm4gbV9qdW1wOwogICAg
ICAgICB9CiAKICAgICAgICAgaWYgKGNvbmQgPT0gRG91YmxlR3JlYXRlclRoYW5PclVub3JkZXJl
ZCkgewotICAgICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAg
ICAgICAgIEp1bXBMaXN0IGVuZDsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmxvYWRDb25zdGFu
dCgweDdmYmZmZmZmLCBzY3JhdGNoUmVnMyk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5kY252
ZHMocmlnaHQpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuc3RzZnB1bFJlZyhzY3IpOwotICAg
ICAgICAgICAgbV9hc3NlbWJsZXIuY21wbFJlZ1JlZyhzY3JhdGNoUmVnMywgc2NyLCBTSDRDb25k
aXRpb24oRXF1YWwpKTsKKyAgICAgICAgICAgIEp1bXBMaXN0IHRha2VCcmFuY2g7CisgICAgICAg
ICAgICBtX2Fzc2VtYmxlci5kY21wcGVxKGxlZnQsIGxlZnQpOwogICAgICAgICAgICAgbV9hc3Nl
bWJsZXIuZW5zdXJlU3BhY2UobV9hc3NlbWJsZXIubWF4SW5zdHJ1Y3Rpb25TaXplICsgMjIsIHNp
emVvZih1aW50MzJfdCkpOwotICAgICAgICAgICAgZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVy
LmplKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmRjbnZkcyhsZWZ0KTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLnN0c2ZwdWxSZWcoc2NyKTsK
LSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIHNjciwgU0g0
Q29uZGl0aW9uKEVxdWFsKSk7Ci0gICAgICAgICAgICBlbmQuYXBwZW5kKEp1bXAobV9hc3NlbWJs
ZXIuamUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVhcikpOworICAgICAgICAgICAgdGFrZUJyYW5j
aC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qbmUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVhcikp
OworICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNtcHBlcShyaWdodCwgcmlnaHQpOworICAgICAg
ICAgICAgdGFrZUJyYW5jaC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qbmUoKSwgU0g0QXNzZW1i
bGVyOjpKdW1wTmVhcikpOwogICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNtcHBndChyaWdodCwg
bGVmdCk7CiAgICAgICAgICAgICBKdW1wIG1fanVtcCA9IEp1bXAobV9hc3NlbWJsZXIuamUoKSk7
Ci0gICAgICAgICAgICBlbmQubGluayh0aGlzKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmV4
dHJhSW5zdHJGb3JCcmFuY2goc2NyKTsKLSAgICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7
CisgICAgICAgICAgICB0YWtlQnJhbmNoLmxpbmsodGhpcyk7CisgICAgICAgICAgICBtX2Fzc2Vt
Ymxlci5leHRyYUluc3RyRm9yQnJhbmNoKHNjcmF0Y2hSZWczKTsKICAgICAgICAgICAgIHJldHVy
biBtX2p1bXA7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoY29uZCA9PSBEb3VibGVHcmVhdGVy
VGhhbk9yRXF1YWxPclVub3JkZXJlZCkgewotICAgICAgICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBj
bGFpbVNjcmF0Y2goKTsKLSAgICAgICAgICAgIEp1bXBMaXN0IGVuZDsKLSAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmxvYWRDb25zdGFudCgweDdmYmZmZmZmLCBzY3JhdGNoUmVnMyk7Ci0gICAgICAg
ICAgICBtX2Fzc2VtYmxlci5kY252ZHMocmlnaHQpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIu
c3RzZnB1bFJlZyhzY3IpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21wbFJlZ1JlZyhzY3Jh
dGNoUmVnMywgc2NyLCBTSDRDb25kaXRpb24oRXF1YWwpKTsKLSAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmVuc3VyZVNwYWNlKG1fYXNzZW1ibGVyLm1heEluc3RydWN0aW9uU2l6ZSArIDIyLCBzaXpl
b2YodWludDMyX3QpKTsKLSAgICAgICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5q
ZSgpLCBTSDRBc3NlbWJsZXI6Okp1bXBOZWFyKSk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5k
Y252ZHMobGVmdCk7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVnKHNjcik7Ci0g
ICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBsUmVnUmVnKHNjcmF0Y2hSZWczLCBzY3IsIFNINENv
bmRpdGlvbihFcXVhbCkpOwotICAgICAgICAgICAgZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVy
LmplKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmRjbXBwZ3QobGVmdCwgcmlnaHQpOwotICAgICAgICAgICAgSnVtcCBtX2p1bXAgPSBKdW1wKG1f
YXNzZW1ibGVyLmpuZSgpKTsKLSAgICAgICAgICAgIGVuZC5saW5rKHRoaXMpOwotICAgICAgICAg
ICAgbV9hc3NlbWJsZXIuZXh0cmFJbnN0ckZvckJyYW5jaChzY3IpOwotICAgICAgICAgICAgcmVs
ZWFzZVNjcmF0Y2goc2NyKTsKLSAgICAgICAgICAgIHJldHVybiBtX2p1bXA7CisgICAgICAgICAg
ICByZXR1cm4gYnJhbmNoRmFsc2UoKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChjb25kID09
IERvdWJsZUxlc3NUaGFuT3JVbm9yZGVyZWQpIHsKLSAgICAgICAgICAgIFJlZ2lzdGVySUQgc2Ny
ID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgICAgICBKdW1wTGlzdCBlbmQ7Ci0gICAgICAgICAg
ICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoMHg3ZmJmZmZmZiwgc2NyYXRjaFJlZzMpOwotICAg
ICAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRzKHJpZ2h0KTsKLSAgICAgICAgICAgIG1fYXNzZW1i
bGVyLnN0c2ZwdWxSZWcoc2NyKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWco
c2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7CisgICAgICAgICAgICBKdW1w
TGlzdCB0YWtlQnJhbmNoOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNtcHBlcShsZWZ0LCBs
ZWZ0KTsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmVuc3VyZVNwYWNlKG1fYXNzZW1ibGVyLm1h
eEluc3RydWN0aW9uU2l6ZSArIDIyLCBzaXplb2YodWludDMyX3QpKTsKLSAgICAgICAgICAgIGVu
ZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qZSgpLCBTSDRBc3NlbWJsZXI6Okp1bXBOZWFyKSk7
Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5kY252ZHMobGVmdCk7Ci0gICAgICAgICAgICBtX2Fz
c2VtYmxlci5zdHNmcHVsUmVnKHNjcik7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5jbXBsUmVn
UmVnKHNjcmF0Y2hSZWczLCBzY3IsIFNINENvbmRpdGlvbihFcXVhbCkpOwotICAgICAgICAgICAg
ZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVyLmplKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIp
KTsKKyAgICAgICAgICAgIHRha2VCcmFuY2guYXBwZW5kKEp1bXAobV9hc3NlbWJsZXIuam5lKCks
IFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLmRjbXBw
ZXEocmlnaHQsIHJpZ2h0KTsKKyAgICAgICAgICAgIHRha2VCcmFuY2guYXBwZW5kKEp1bXAobV9h
c3NlbWJsZXIuam5lKCksIFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmRjbXBwZ3QobGVmdCwgcmlnaHQpOwogICAgICAgICAgICAgSnVtcCBtX2p1bXAg
PSBKdW1wKG1fYXNzZW1ibGVyLmplKCkpOwotICAgICAgICAgICAgZW5kLmxpbmsodGhpcyk7Ci0g
ICAgICAgICAgICBtX2Fzc2VtYmxlci5leHRyYUluc3RyRm9yQnJhbmNoKHNjcik7Ci0gICAgICAg
ICAgICByZWxlYXNlU2NyYXRjaChzY3IpOworICAgICAgICAgICAgdGFrZUJyYW5jaC5saW5rKHRo
aXMpOworICAgICAgICAgICAgbV9hc3NlbWJsZXIuZXh0cmFJbnN0ckZvckJyYW5jaChzY3JhdGNo
UmVnMyk7CiAgICAgICAgICAgICByZXR1cm4gbV9qdW1wOwogICAgICAgICB9CiAKICAgICAgICAg
aWYgKGNvbmQgPT0gRG91YmxlTGVzc1RoYW5PckVxdWFsT3JVbm9yZGVyZWQpIHsKLSAgICAgICAg
ICAgIFJlZ2lzdGVySUQgc2NyID0gY2xhaW1TY3JhdGNoKCk7Ci0gICAgICAgICAgICBKdW1wTGlz
dCBlbmQ7Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoMHg3ZmJmZmZmZiwg
c2NyYXRjaFJlZzMpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRzKHJpZ2h0KTsKLSAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLnN0c2ZwdWxSZWcoc2NyKTsKLSAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7
Ci0gICAgICAgICAgICBtX2Fzc2VtYmxlci5lbnN1cmVTcGFjZShtX2Fzc2VtYmxlci5tYXhJbnN0
cnVjdGlvblNpemUgKyAyMiwgc2l6ZW9mKHVpbnQzMl90KSk7Ci0gICAgICAgICAgICBlbmQuYXBw
ZW5kKEp1bXAobV9hc3NlbWJsZXIuamUoKSwgU0g0QXNzZW1ibGVyOjpKdW1wTmVhcikpOwotICAg
ICAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRzKGxlZnQpOwotICAgICAgICAgICAgbV9hc3NlbWJs
ZXIuc3RzZnB1bFJlZyhzY3IpOwotICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21wbFJlZ1JlZyhz
Y3JhdGNoUmVnMywgc2NyLCBTSDRDb25kaXRpb24oRXF1YWwpKTsKLSAgICAgICAgICAgIGVuZC5h
cHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qZSgpLCBTSDRBc3NlbWJsZXI6Okp1bXBOZWFyKSk7CiAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5kY21wcGd0KHJpZ2h0LCBsZWZ0KTsKLSAgICAgICAgICAg
IEp1bXAgbV9qdW1wID0gSnVtcChtX2Fzc2VtYmxlci5qbmUoKSk7Ci0gICAgICAgICAgICBlbmQu
bGluayh0aGlzKTsKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLmV4dHJhSW5zdHJGb3JCcmFuY2go
c2NyKTsKLSAgICAgICAgICAgIHJlbGVhc2VTY3JhdGNoKHNjcik7Ci0gICAgICAgICAgICByZXR1
cm4gbV9qdW1wOworICAgICAgICAgICAgcmV0dXJuIGJyYW5jaEZhbHNlKCk7CiAgICAgICAgIH0K
IAogICAgICAgICBBU1NFUlQoY29uZCA9PSBEb3VibGVOb3RFcXVhbE9yVW5vcmRlcmVkKTsKLSAg
ICAgICAgUmVnaXN0ZXJJRCBzY3IgPSBjbGFpbVNjcmF0Y2goKTsKLSAgICAgICAgSnVtcExpc3Qg
ZW5kOwotICAgICAgICBtX2Fzc2VtYmxlci5sb2FkQ29uc3RhbnQoMHg3ZmJmZmZmZiwgc2NyYXRj
aFJlZzMpOwotICAgICAgICBtX2Fzc2VtYmxlci5kY252ZHMocmlnaHQpOwotICAgICAgICBtX2Fz
c2VtYmxlci5zdHNmcHVsUmVnKHNjcik7Ci0gICAgICAgIG1fYXNzZW1ibGVyLmNtcGxSZWdSZWco
c2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7Ci0gICAgICAgIG1fYXNzZW1i
bGVyLmVuc3VyZVNwYWNlKG1fYXNzZW1ibGVyLm1heEluc3RydWN0aW9uU2l6ZSArIDIyLCBzaXpl
b2YodWludDMyX3QpKTsKLSAgICAgICAgZW5kLmFwcGVuZChKdW1wKG1fYXNzZW1ibGVyLmplKCks
IFNINEFzc2VtYmxlcjo6SnVtcE5lYXIpKTsKLSAgICAgICAgbV9hc3NlbWJsZXIuZGNudmRzKGxl
ZnQpOwotICAgICAgICBtX2Fzc2VtYmxlci5zdHNmcHVsUmVnKHNjcik7Ci0gICAgICAgIG1fYXNz
ZW1ibGVyLmNtcGxSZWdSZWcoc2NyYXRjaFJlZzMsIHNjciwgU0g0Q29uZGl0aW9uKEVxdWFsKSk7
Ci0gICAgICAgIGVuZC5hcHBlbmQoSnVtcChtX2Fzc2VtYmxlci5qZSgpLCBTSDRBc3NlbWJsZXI6
Okp1bXBOZWFyKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRjbXBwZXEocmlnaHQsIGxlZnQpOwot
ICAgICAgICBKdW1wIG1fanVtcCA9IEp1bXAobV9hc3NlbWJsZXIuam5lKCkpOwotICAgICAgICBl
bmQubGluayh0aGlzKTsKLSAgICAgICAgbV9hc3NlbWJsZXIuZXh0cmFJbnN0ckZvckJyYW5jaChz
Y3IpOwotICAgICAgICByZWxlYXNlU2NyYXRjaChzY3IpOwotICAgICAgICByZXR1cm4gbV9qdW1w
OworICAgICAgICByZXR1cm4gYnJhbmNoRmFsc2UoKTsKICAgICB9CiAKICAgICBKdW1wIGJyYW5j
aFRydWUoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>