<?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>205625</bug_id>
          
          <creation_ts>2019-12-28 21:24:36 -0800</creation_ts>
          <short_desc>[JSC] Remove WTF::loadLoadFence from JSFunction::rareData()</short_desc>
          <delta_ts>2020-01-02 10:36:50 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1601734</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-28 21:24:36 -0800</bug_when>
    <thetext>Since it is not necessary. We are putting storeStoreFence() when putting RareData into this field.
And, we never support concurrent access to this field if CPU does not support appropriate memory-ordering restriction (we strongly assume that acquire-fence for data dependent load is not necessary if store-store fence is appropriately emitted, if this guarantee is not met, we can just disable concurrency for this CPU (DEC Alpha)).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601738</commentid>
    <comment_count>1</comment_count>
      <attachid>386481</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-28 22:44:59 -0800</bug_when>
    <thetext>Created attachment 386481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601739</commentid>
    <comment_count>2</comment_count>
      <attachid>386482</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-28 22:47:21 -0800</bug_when>
    <thetext>Created attachment 386482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601745</commentid>
    <comment_count>3</comment_count>
      <attachid>386482</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-12-28 23:13:38 -0800</bug_when>
    <thetext>Comment on attachment 386482
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=386482&amp;action=review

r=me

&gt; Source/JavaScriptCore/runtime/JSFunctionInlines.h:149
&gt;      // FIXME: Use JSFunction::rareData() once WTF::loadLoadFence is removed.
&gt;      // https://bugs.webkit.org/show_bug.cgi?id=205625

Remove this FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601818</commentid>
    <comment_count>4</comment_count>
      <attachid>386482</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-29 21:36:06 -0800</bug_when>
    <thetext>Comment on attachment 386482
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=386482&amp;action=review

Thanks

&gt;&gt; Source/JavaScriptCore/runtime/JSFunctionInlines.h:149
&gt;&gt;      // https://bugs.webkit.org/show_bug.cgi?id=205625
&gt; 
&gt; Remove this FIXME.

Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601819</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-12-29 21:36:35 -0800</bug_when>
    <thetext>Committed r253943: &lt;https://trac.webkit.org/changeset/253943&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601820</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-29 21:37:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/58236317&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601918</commentid>
    <comment_count>7</comment_count>
      <attachid>386482</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-12-30 12:45:14 -0800</bug_when>
    <thetext>Comment on attachment 386482
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=386482&amp;action=review

&gt; Source/JavaScriptCore/runtime/JSFunction.h:-144
&gt; -        // The JS thread may be concurrently creating the rare data
&gt; -        // If we see it, we want to ensure it has been properly created
&gt; -        WTF::loadLoadFence();

weird. I wonder why we ever had this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601919</commentid>
    <comment_count>8</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-12-30 12:45:35 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #7)
&gt; Comment on attachment 386482 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=386482&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/JSFunction.h:-144
&gt; &gt; -        // The JS thread may be concurrently creating the rare data
&gt; &gt; -        // If we see it, we want to ensure it has been properly created
&gt; &gt; -        WTF::loadLoadFence();
&gt; 
&gt; weird. I wonder why we ever had this.

The explanation doesn&apos;t even make sense, since a loadLoadFence wouldn&apos;t help us here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602165</commentid>
    <comment_count>9</comment_count>
      <attachid>386482</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-02 10:36:50 -0800</bug_when>
    <thetext>Comment on attachment 386482
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=386482&amp;action=review

&gt;&gt;&gt; Source/JavaScriptCore/runtime/JSFunction.h:-144
&gt;&gt;&gt; -        WTF::loadLoadFence();
&gt;&gt; 
&gt;&gt; weird. I wonder why we ever had this.
&gt; 
&gt; The explanation doesn&apos;t even make sense, since a loadLoadFence wouldn&apos;t help us here

Yeah, this is weird :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386481</attachid>
            <date>2019-12-28 22:44:59 -0800</date>
            <delta_ts>2019-12-28 22:47:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205625-20191228224458.patch</filename>
            <type>text/plain</type>
            <size>4832</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTBiMGEyYzYxM2ZkZmZlZWI4ZWFjNDhiYmZlNTI2ZmM0YTQ3MWE2Li45YmZlMTIyNDcwOTQ2OTM1
NTliYTE4Yjk0NWY0MTlmYmEwZDAwNDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxOS0xMi0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSBXVEY6OmxvYWRMb2FkRmVuY2UgZnJvbSBKU0Z1bmN0
aW9uOjpyYXJlRGF0YSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDU2MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXVEY6OmxvYWRMb2FkRmVuY2UoKSBpcyBub3QgbmVjZXNzYXJ5IHdoZW4gbG9hZGlu
ZyBGdW5jdGlvblJhcmVEYXRhIGZyb20gSlNGdW5jdGlvbiBzaW5jZSB3ZSBlbnN1cmVkIHRoYXQg
c3RvcmVkIEZ1bmN0aW9uUmFyZURhdGEKKyAgICAgICAgaXMgYWxyZWFkeSBiYWtlZCBieSBlbWl0
dGluZyBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpLgorCisgICAgICAgICogcnVudGltZS9KU0Z1bmN0
aW9uLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OnJhcmVEYXRhKToKKyAgICAgICAgKiBy
dW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246Omhh
c1JlaWZpZWRMZW5ndGggY29uc3QpOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpoYXNSZWlm
aWVkTmFtZSBjb25zdCk6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmFyZU5hbWVBbmRMZW5n
dGhPcmlnaW5hbCk6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmVuc3VyZVJhcmVEYXRhQW5k
QWxsb2NhdGlvblByb2ZpbGUpOgorCiAyMDE5LTEyLTI4ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSlNGdW5jdGlvbidzIG1fZXhlY3V0YWJsZSAv
IG1fcmFyZURhdGEgc2hvdWxkIGJlIG1lcmdlZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5oCmluZGV4IGNlMmRjMDc3ZWIyNzg0NTkwMjhmMWIxMzA0MDBhMzQ3MjAz
ZGQzMDAuLjYxODE3M2E3MDhhOWI2ODg1NzM3MTkyZTJmMGY1YWNkZmI1ZDFjNmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzOSwxMCArMTM5LDYg
QEAgY2xhc3MgSlNGdW5jdGlvbiA6IHB1YmxpYyBKU0NhbGxlZSB7CiAgICAgRnVuY3Rpb25SYXJl
RGF0YSogcmFyZURhdGEoKQogICAgIHsKICAgICAgICAgdWludHB0cl90IGV4ZWN1dGFibGVPclJh
cmVEYXRhID0gbV9leGVjdXRhYmxlT3JSYXJlRGF0YTsKLSAgICAgICAgLy8gVGhlIEpTIHRocmVh
ZCBtYXkgYmUgY29uY3VycmVudGx5IGNyZWF0aW5nIHRoZSByYXJlIGRhdGEKLSAgICAgICAgLy8g
SWYgd2Ugc2VlIGl0LCB3ZSB3YW50IHRvIGVuc3VyZSBpdCBoYXMgYmVlbiBwcm9wZXJseSBjcmVh
dGVkCi0gICAgICAgIFdURjo6bG9hZExvYWRGZW5jZSgpOwotCiAgICAgICAgIGlmIChleGVjdXRh
YmxlT3JSYXJlRGF0YSAmIHJhcmVEYXRhVGFnKQogICAgICAgICAgICAgcmV0dXJuIGJpdHdpc2Vf
Y2FzdDxGdW5jdGlvblJhcmVEYXRhKj4oZXhlY3V0YWJsZU9yUmFyZURhdGEgJiB+cmFyZURhdGFU
YWcpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IDkzY2Q0YmZhNmRlY2Y4YjVkZjlk
NWRmMDEzNzk0NzIwMTFkN2E3OGIuLjBkOTVlMjY5M2UxN2VjNmY5ZGVmNDdlNmNjYTg5NjMxMjhi
NWNkZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bklubGluZXMuaApAQCAtOTksMzIgKzk5LDIzIEBAIGlubGluZSBib29sIGlzSG9zdEZ1bmN0aW9u
KEpTVmFsdWUgdmFsdWUsIFRhZ2dlZE5hdGl2ZUZ1bmN0aW9uIG5hdGl2ZUZ1bmN0aW9uKQogCiBp
bmxpbmUgYm9vbCBKU0Z1bmN0aW9uOjpoYXNSZWlmaWVkTGVuZ3RoKCkgY29uc3QKIHsKLSAgICAv
LyBGSVhNRTogVXNlIEpTRnVuY3Rpb246OnJhcmVEYXRhKCkgb25jZSBXVEY6OmxvYWRMb2FkRmVu
Y2UgaXMgcmVtb3ZlZC4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA1NjI1Ci0gICAgdWludHB0cl90IGV4ZWN1dGFibGVPclJhcmVEYXRhID0gbV9leGVj
dXRhYmxlT3JSYXJlRGF0YTsKLSAgICBpZiAoZXhlY3V0YWJsZU9yUmFyZURhdGEgJiByYXJlRGF0
YVRhZykKLSAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxGdW5jdGlvblJhcmVEYXRhKj4oZXhl
Y3V0YWJsZU9yUmFyZURhdGEgJiB+cmFyZURhdGFUYWcpLT5oYXNSZWlmaWVkTGVuZ3RoKCk7Cisg
ICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gdGhpcy0+cmFyZURhdGEoKSkKKyAg
ICAgICAgcmV0dXJuIHJhcmVEYXRhLT5oYXNSZWlmaWVkTGVuZ3RoKCk7CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCiBpbmxpbmUgYm9vbCBKU0Z1bmN0aW9uOjpoYXNSZWlmaWVkTmFtZSgpIGNvbnN0
CiB7Ci0gICAgLy8gRklYTUU6IFVzZSBKU0Z1bmN0aW9uOjpyYXJlRGF0YSgpIG9uY2UgV1RGOjps
b2FkTG9hZEZlbmNlIGlzIHJlbW92ZWQuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNTYyNQotICAgIHVpbnRwdHJfdCBleGVjdXRhYmxlT3JSYXJlRGF0
YSA9IG1fZXhlY3V0YWJsZU9yUmFyZURhdGE7Ci0gICAgaWYgKGV4ZWN1dGFibGVPclJhcmVEYXRh
ICYgcmFyZURhdGFUYWcpCi0gICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8RnVuY3Rpb25SYXJl
RGF0YSo+KGV4ZWN1dGFibGVPclJhcmVEYXRhICYgfnJhcmVEYXRhVGFnKS0+aGFzUmVpZmllZE5h
bWUoKTsKKyAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSB0aGlzLT5yYXJlRGF0
YSgpKQorICAgICAgICByZXR1cm4gcmFyZURhdGEtPmhhc1JlaWZpZWROYW1lKCk7CiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCiBpbmxpbmUgYm9vbCBKU0Z1bmN0aW9uOjphcmVOYW1lQW5kTGVuZ3Ro
T3JpZ2luYWwoVk0mKQogewotICAgIC8vIEZJWE1FOiBVc2UgSlNGdW5jdGlvbjo6cmFyZURhdGEo
KSBvbmNlIFdURjo6bG9hZExvYWRGZW5jZSBpcyByZW1vdmVkLgotICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU2MjUKLSAgICB1aW50cHRyX3QgZXhlY3V0
YWJsZU9yUmFyZURhdGEgPSBtX2V4ZWN1dGFibGVPclJhcmVEYXRhOwotICAgIGlmICghKGV4ZWN1
dGFibGVPclJhcmVEYXRhICYgcmFyZURhdGFUYWcpKQorICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJh
cmVEYXRhID0gdGhpcy0+cmFyZURhdGEoKTsKKyAgICBpZiAoIXJhcmVEYXRhKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGJpdHdpc2VfY2Fz
dDxGdW5jdGlvblJhcmVEYXRhKj4oZXhlY3V0YWJsZU9yUmFyZURhdGEgJiB+cmFyZURhdGFUYWcp
OwogICAgIGlmIChyYXJlRGF0YS0+aGFzTW9kaWZpZWROYW1lKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBpZiAocmFyZURhdGEtPmhhc01vZGlmaWVkTGVuZ3RoKCkpCkBAIC0xNTcsMTAg
KzE0OCw5IEBAIGlubGluZSBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjplbnN1cmVSYXJl
RGF0YUFuZEFsbG9jYXRpb25Qcm9maWxlKEpTR2xvYmFsCiAgICAgLy8gRklYTUU6IFVzZSBKU0Z1
bmN0aW9uOjpyYXJlRGF0YSgpIG9uY2UgV1RGOjpsb2FkTG9hZEZlbmNlIGlzIHJlbW92ZWQuCiAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTYyNQogICAg
IEFTU0VSVChjYW5Vc2VBbGxvY2F0aW9uUHJvZmlsZSgpKTsKLSAgICB1aW50cHRyX3QgZXhlY3V0
YWJsZU9yUmFyZURhdGEgPSBtX2V4ZWN1dGFibGVPclJhcmVEYXRhOwotICAgIGlmICghKGV4ZWN1
dGFibGVPclJhcmVEYXRhICYgcmFyZURhdGFUYWcpKQorICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJh
cmVEYXRhID0gdGhpcy0+cmFyZURhdGEoKTsKKyAgICBpZiAoIXJhcmVEYXRhKQogICAgICAgICBy
ZXR1cm4gYWxsb2NhdGVBbmRJbml0aWFsaXplUmFyZURhdGEoZ2xvYmFsT2JqZWN0LCBpbmxpbmVD
YXBhY2l0eSk7Ci0gICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBiaXR3aXNlX2Nhc3Q8
RnVuY3Rpb25SYXJlRGF0YSo+KGV4ZWN1dGFibGVPclJhcmVEYXRhICYgfnJhcmVEYXRhVGFnKTsK
ICAgICBpZiAoVU5MSUtFTFkoIXJhcmVEYXRhLT5pc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5p
dGlhbGl6ZWQoKSkpCiAgICAgICAgIHJldHVybiBpbml0aWFsaXplUmFyZURhdGEoZ2xvYmFsT2Jq
ZWN0LCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgcmV0dXJuIHJhcmVEYXRhOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386482</attachid>
            <date>2019-12-28 22:47:21 -0800</date>
            <delta_ts>2019-12-28 23:13:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205625-20191228224720.patch</filename>
            <type>text/plain</type>
            <size>5030</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzOTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTBiMGEyYzYxM2ZkZmZlZWI4ZWFjNDhiYmZlNTI2ZmM0YTQ3MWE2Li5jOWI3MWIxZWIxNzk2YmQ0
OGUwZGNiMjE3NjQ0NmQ1OTUxYzA1NzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxOS0xMi0yOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbW92ZSBXVEY6OmxvYWRMb2FkRmVuY2UgZnJvbSBKU0Z1bmN0
aW9uOjpyYXJlRGF0YSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDU2MjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXVEY6OmxvYWRMb2FkRmVuY2UoKSBpcyBub3QgbmVjZXNzYXJ5IHdoZW4gbG9hZGlu
ZyBGdW5jdGlvblJhcmVEYXRhIGZyb20gSlNGdW5jdGlvbiBzaW5jZSB3ZSBlbnN1cmVkIHRoYXQg
c3RvcmVkIEZ1bmN0aW9uUmFyZURhdGEKKyAgICAgICAgaXMgYWxyZWFkeSBiYWtlZCBieSBlbWl0
dGluZyBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpLgorCisgICAgICAgICogcnVudGltZS9KU0Z1bmN0
aW9uLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OnJhcmVEYXRhIGNvbnN0KToKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6cmFyZURhdGEpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRp
bWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6aGFzUmVp
ZmllZExlbmd0aCBjb25zdCk6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246Omhhc1JlaWZpZWRO
YW1lIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6YXJlTmFtZUFuZExlbmd0aE9y
aWdpbmFsKToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6ZW5zdXJlUmFyZURhdGFBbmRBbGxv
Y2F0aW9uUHJvZmlsZSk6CisKIDIwMTktMTItMjggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFw
cGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBKU0Z1bmN0aW9uJ3MgbV9leGVjdXRhYmxlIC8gbV9y
YXJlRGF0YSBzaG91bGQgYmUgbWVyZ2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0Z1bmN0aW9uLmgKaW5kZXggY2UyZGMwNzdlYjI3ODQ1OTAyOGYxYjEzMDQwMGEzNDcyMDNkZDMw
MC4uNDg5MjM1MjgwYWEzOTZkMjM3NTYwZDA3MzUxNjAyMTBhZTdiMmQ1MCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTM2LDEzICsxMzYsOSBAQCBj
bGFzcyBKU0Z1bmN0aW9uIDogcHVibGljIEpTQ2FsbGVlIHsKIAogICAgIEZ1bmN0aW9uUmFyZURh
dGEqIGVuc3VyZVJhcmVEYXRhQW5kQWxsb2NhdGlvblByb2ZpbGUoSlNHbG9iYWxPYmplY3QqLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAKLSAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0
YSgpCisgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAg
ICAgdWludHB0cl90IGV4ZWN1dGFibGVPclJhcmVEYXRhID0gbV9leGVjdXRhYmxlT3JSYXJlRGF0
YTsKLSAgICAgICAgLy8gVGhlIEpTIHRocmVhZCBtYXkgYmUgY29uY3VycmVudGx5IGNyZWF0aW5n
IHRoZSByYXJlIGRhdGEKLSAgICAgICAgLy8gSWYgd2Ugc2VlIGl0LCB3ZSB3YW50IHRvIGVuc3Vy
ZSBpdCBoYXMgYmVlbiBwcm9wZXJseSBjcmVhdGVkCi0gICAgICAgIFdURjo6bG9hZExvYWRGZW5j
ZSgpOwotCiAgICAgICAgIGlmIChleGVjdXRhYmxlT3JSYXJlRGF0YSAmIHJhcmVEYXRhVGFnKQog
ICAgICAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxGdW5jdGlvblJhcmVEYXRhKj4oZXhlY3V0
YWJsZU9yUmFyZURhdGEgJiB+cmFyZURhdGFUYWcpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25Jbmxp
bmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5o
CmluZGV4IDkzY2Q0YmZhNmRlY2Y4YjVkZjlkNWRmMDEzNzk0NzIwMTFkN2E3OGIuLjBkOTVlMjY5
M2UxN2VjNmY5ZGVmNDdlNmNjYTg5NjMxMjhiNWNkZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtOTksMzIgKzk5LDIzIEBA
IGlubGluZSBib29sIGlzSG9zdEZ1bmN0aW9uKEpTVmFsdWUgdmFsdWUsIFRhZ2dlZE5hdGl2ZUZ1
bmN0aW9uIG5hdGl2ZUZ1bmN0aW9uKQogCiBpbmxpbmUgYm9vbCBKU0Z1bmN0aW9uOjpoYXNSZWlm
aWVkTGVuZ3RoKCkgY29uc3QKIHsKLSAgICAvLyBGSVhNRTogVXNlIEpTRnVuY3Rpb246OnJhcmVE
YXRhKCkgb25jZSBXVEY6OmxvYWRMb2FkRmVuY2UgaXMgcmVtb3ZlZC4KLSAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NjI1Ci0gICAgdWludHB0cl90IGV4
ZWN1dGFibGVPclJhcmVEYXRhID0gbV9leGVjdXRhYmxlT3JSYXJlRGF0YTsKLSAgICBpZiAoZXhl
Y3V0YWJsZU9yUmFyZURhdGEgJiByYXJlRGF0YVRhZykKLSAgICAgICAgcmV0dXJuIGJpdHdpc2Vf
Y2FzdDxGdW5jdGlvblJhcmVEYXRhKj4oZXhlY3V0YWJsZU9yUmFyZURhdGEgJiB+cmFyZURhdGFU
YWcpLT5oYXNSZWlmaWVkTGVuZ3RoKCk7CisgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVE
YXRhID0gdGhpcy0+cmFyZURhdGEoKSkKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhLT5oYXNSZWlm
aWVkTGVuZ3RoKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBpbmxpbmUgYm9vbCBKU0Z1bmN0
aW9uOjpoYXNSZWlmaWVkTmFtZSgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IFVzZSBKU0Z1bmN0
aW9uOjpyYXJlRGF0YSgpIG9uY2UgV1RGOjpsb2FkTG9hZEZlbmNlIGlzIHJlbW92ZWQuCi0gICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTYyNQotICAgIHVp
bnRwdHJfdCBleGVjdXRhYmxlT3JSYXJlRGF0YSA9IG1fZXhlY3V0YWJsZU9yUmFyZURhdGE7Ci0g
ICAgaWYgKGV4ZWN1dGFibGVPclJhcmVEYXRhICYgcmFyZURhdGFUYWcpCi0gICAgICAgIHJldHVy
biBiaXR3aXNlX2Nhc3Q8RnVuY3Rpb25SYXJlRGF0YSo+KGV4ZWN1dGFibGVPclJhcmVEYXRhICYg
fnJhcmVEYXRhVGFnKS0+aGFzUmVpZmllZE5hbWUoKTsKKyAgICBpZiAoRnVuY3Rpb25SYXJlRGF0
YSogcmFyZURhdGEgPSB0aGlzLT5yYXJlRGF0YSgpKQorICAgICAgICByZXR1cm4gcmFyZURhdGEt
Pmhhc1JlaWZpZWROYW1lKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBpbmxpbmUgYm9vbCBK
U0Z1bmN0aW9uOjphcmVOYW1lQW5kTGVuZ3RoT3JpZ2luYWwoVk0mKQogewotICAgIC8vIEZJWE1F
OiBVc2UgSlNGdW5jdGlvbjo6cmFyZURhdGEoKSBvbmNlIFdURjo6bG9hZExvYWRGZW5jZSBpcyBy
ZW1vdmVkLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDU2MjUKLSAgICB1aW50cHRyX3QgZXhlY3V0YWJsZU9yUmFyZURhdGEgPSBtX2V4ZWN1dGFibGVP
clJhcmVEYXRhOwotICAgIGlmICghKGV4ZWN1dGFibGVPclJhcmVEYXRhICYgcmFyZURhdGFUYWcp
KQorICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gdGhpcy0+cmFyZURhdGEoKTsKKyAg
ICBpZiAoIXJhcmVEYXRhKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBGdW5jdGlvblJhcmVE
YXRhKiByYXJlRGF0YSA9IGJpdHdpc2VfY2FzdDxGdW5jdGlvblJhcmVEYXRhKj4oZXhlY3V0YWJs
ZU9yUmFyZURhdGEgJiB+cmFyZURhdGFUYWcpOwogICAgIGlmIChyYXJlRGF0YS0+aGFzTW9kaWZp
ZWROYW1lKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAocmFyZURhdGEtPmhhc01v
ZGlmaWVkTGVuZ3RoKCkpCkBAIC0xNTcsMTAgKzE0OCw5IEBAIGlubGluZSBGdW5jdGlvblJhcmVE
YXRhKiBKU0Z1bmN0aW9uOjplbnN1cmVSYXJlRGF0YUFuZEFsbG9jYXRpb25Qcm9maWxlKEpTR2xv
YmFsCiAgICAgLy8gRklYTUU6IFVzZSBKU0Z1bmN0aW9uOjpyYXJlRGF0YSgpIG9uY2UgV1RGOjps
b2FkTG9hZEZlbmNlIGlzIHJlbW92ZWQuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNTYyNQogICAgIEFTU0VSVChjYW5Vc2VBbGxvY2F0aW9uUHJvZmls
ZSgpKTsKLSAgICB1aW50cHRyX3QgZXhlY3V0YWJsZU9yUmFyZURhdGEgPSBtX2V4ZWN1dGFibGVP
clJhcmVEYXRhOwotICAgIGlmICghKGV4ZWN1dGFibGVPclJhcmVEYXRhICYgcmFyZURhdGFUYWcp
KQorICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gdGhpcy0+cmFyZURhdGEoKTsKKyAg
ICBpZiAoIXJhcmVEYXRhKQogICAgICAgICByZXR1cm4gYWxsb2NhdGVBbmRJbml0aWFsaXplUmFy
ZURhdGEoZ2xvYmFsT2JqZWN0LCBpbmxpbmVDYXBhY2l0eSk7Ci0gICAgRnVuY3Rpb25SYXJlRGF0
YSogcmFyZURhdGEgPSBiaXR3aXNlX2Nhc3Q8RnVuY3Rpb25SYXJlRGF0YSo+KGV4ZWN1dGFibGVP
clJhcmVEYXRhICYgfnJhcmVEYXRhVGFnKTsKICAgICBpZiAoVU5MSUtFTFkoIXJhcmVEYXRhLT5p
c09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlhbGl6ZWQoKSkpCiAgICAgICAgIHJldHVybiBp
bml0aWFsaXplUmFyZURhdGEoZ2xvYmFsT2JqZWN0LCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgcmV0
dXJuIHJhcmVEYXRhOwo=
</data>
<flag name="review"
          id="402274"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>