<?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>83678</bug_id>
          
          <creation_ts>2012-04-11 00:47:28 -0700</creation_ts>
          <short_desc>Global variable predictions should not be coalesced unnecessarily</short_desc>
          <delta_ts>2013-02-20 14:26:54 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>benjamin</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>600103</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-04-11 00:47:28 -0700</bug_when>
    <thetext>The DFG still coalesces all predictions for all global variables even though it isn&apos;t strictly necessary.  This is a holdover from when we would sometimes compile code without having complete predictions for the entire code block, and would have no way of recompiling later - so we needed to play strange games to &quot;fill in&quot; predictions for those parts of the code block that we wanted to optimize but for which we had no profiling data.  But these days we either manager to get all of the profiling we need before compiling things (because of our well now mature heuristics) or we trigger recompilation upon repeated attempts to execute code that did not have profiling data.  Either way, in steady state, all running DFG code will have ample profiling information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600111</commentid>
    <comment_count>1</comment_count>
      <attachid>136639</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-04-11 00:53:14 -0700</bug_when>
    <thetext>Created attachment 136639
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600280</commentid>
    <comment_count>2</comment_count>
      <attachid>136639</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-04-11 08:18:44 -0700</bug_when>
    <thetext>Comment on attachment 136639
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601888</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-04-13 00:52:28 -0700</bug_when>
    <thetext>Could this have caused the regression in Bindings/event-target-wrapper?

The regression: http://webkit-perf.appspot.com/graph.html#tests=[[8062,2001,32196]]&amp;sel=1334183542158.416,1334203959676.6643,90.90909090909076,1386.3636363636363&amp;displayrange=7&amp;datatype=running
The delta: http://trac.webkit.org/log/?rev=113906&amp;stop_rev=113898&amp;verbose=on

This is the only non-trivial commit in this delta.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800023</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-04 00:52:40 -0800</bug_when>
    <thetext>Attachment 136639 was posted by a committer and has review+, assigning to Filip Pizlo for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837762</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-02-20 14:26:54 -0800</bug_when>
    <thetext>This was fixed ages ago.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136639</attachid>
            <date>2012-04-11 00:53:14 -0700</date>
            <delta_ts>2012-04-11 08:18:44 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>civilizedglobals_patch_1.diff</filename>
            <type>text/plain</type>
            <size>13868</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTEzODI4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDEyLTA0LTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
R2xvYmFsIHZhcmlhYmxlIHByZWRpY3Rpb25zIHNob3VsZCBub3QgYmUgY29hbGVzY2VkIHVubmVj
ZXNzYXJpbHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgzNjc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBSZW1vdmVkIHRoZSBQcmVkaWN0aW9uVHJhY2tlciBhbmQgZXZlcnlvbmUgd2hvIHVz
ZWQgaXQuIENvbnZlcnRlZCBHZXRHbG9iYWxWYXIKKyAgICAgICAgdG8gaGF2ZSBhIGhlYXBQcmVk
aWN0aW9uIGxpa2UgYSBjaXZpbGl6ZWQgREZHIG9wY29kZSBvdWdodCB0by4KKyAgICAgICAgCisg
ICAgICAgIE5vIHBlcmZvcm1hbmNlIGVmZmVjdC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKiBieXRlY29kZS9Q
cmVkaWN0aW9uVHJhY2tlci5oOiBSZW1vdmVkLgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sp
OgorICAgICAgICAqIGRmZy9ERkdHZW5lcmF0aW9uSW5mby5oOgorICAgICAgICAqIGRmZy9ERkdH
cmFwaC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmR1bXApOgorICAgICAgICAqIGRm
Zy9ERkdHcmFwaC5oOgorICAgICAgICAoR3JhcGgpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6
CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzSGVhcFByZWRpY3Rpb24pOgorICAgICAgICAq
IGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3BhZ2F0ZSk6CisKIDIwMTItMDQtMTAg
IE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRlbXB0IHRvIGZpeCB0
aGUgV2luZG93cyBidWlsZC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtCShyZXZpc2lvbiAxMTM4MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtMTIyLDcgKzEyMiw2IEBAIGphdmFz
Y3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
b2x5bW9ycGhpY1B1dEJ5SWRMaXN0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9QcmVkaWN0ZWRUeXBlLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
ZWRpY3RlZFR5cGUuaCBcCi0JU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ByZWRpY3Rp
b25UcmFja2VyLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMu
aCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEtpbmQuaCBcCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTEzODI4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTE3MCw3ICsxNzAsNiBAQAogCQkwRkQ4MkUyMTE0MTcyQ0UzMDAxNzlD
OTQgLyogREZHQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGRDgyRTFFMTQxNzJDMkYwMDE3OUM5NCAvKiBERkdDYXBhYmlsaXRp
ZXMuY3BwICovOyB9OwogCQkwRkQ4MkUzOTE0MUFCMTREMDAxNzlDOTQgLyogQ29tcGFjdEpJVENv
ZGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RDgyRTM3MTQxQUIxNDIwMDE3OUM5NCAvKiBDb21wYWN0SklUQ29kZU1hcC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGRDgyRTU0MTQxREFFRUUw
MDE3OUM5NCAvKiBQcmVkaWN0ZWRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkQ4MkU0RjE0MURBRUExMDAxNzlDOTQgLyogUHJlZGljdGVkVHlw
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTBG
RDgyRTU1MTQxREFFRUUwMDE3OUM5NCAvKiBQcmVkaWN0aW9uVHJhY2tlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODJFNTAxNDFEQUVBMTAwMTc5
Qzk0IC8qIFByZWRpY3Rpb25UcmFja2VyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZEODJFNTYxNDFEQUYwODAwMTc5Qzk0IC8qIERGR09TUkVu
dHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
RDgyRTUyMTQxREFFREUwMDE3OUM5NCAvKiBERkdPU1JFbnRyeS5jcHAgKi87IH07CiAJCTBGRDgy
RTU3MTQxREFGMTAwMDE3OUM5NCAvKiBERkdPU1JFbnRyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODJFNTMxNDFEQUVERTAwMTc5Qzk0IC8qIERG
R09TUkVudHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMEZEODJFODYxNDFGM0ZGMTAwMTc5Qzk0IC8qIFByZWRpY3RlZFR5cGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZEODJFODQxNDFGM0ZE
QTAwMTc5Qzk0IC8qIFByZWRpY3RlZFR5cGUuY3BwICovOyB9OwpAQCAtODQzLDcgKzg0Miw2IEBA
CiAJCTBGRDgyRTFGMTQxNzJDMkYwMDE3OUM5NCAvKiBERkdDYXBhYmlsaXRpZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHQ2FwYWJpbGl0aWVzLmg7IHBhdGggPSBkZmcv
REZHQ2FwYWJpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGRDgyRTM3
MTQxQUIxNDIwMDE3OUM5NCAvKiBDb21wYWN0SklUQ29kZU1hcC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDb21wYWN0SklUQ29kZU1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwRkQ4MkU0RjE0MURBRUExMDAxNzlDOTQgLyogUHJlZGljdGVkVHlwZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmVkaWN0ZWRUeXBlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGRDgyRTUwMTQxREFFQTEwMDE3OUM5NCAvKiBQcmVkaWN0
aW9uVHJhY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmVkaWN0aW9u
VHJhY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkQ4MkU1MjE0MURBRURF
MDAxNzlDOTQgLyogREZHT1NSRW50cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHT1NSRW50cnkuY3BwOyBwYXRoID0gZGZnL0RGR09TUkVudHJ5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZEODJFNTMxNDFEQUVERTAwMTc5Qzk0IC8qIERG
R09TUkVudHJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR09TUkVudHJ5
Lmg7IHBhdGggPSBkZmcvREZHT1NSRW50cnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEZEODJFODQxNDFGM0ZEQTAwMTc5Qzk0IC8qIFByZWRpY3RlZFR5cGUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJlZGljdGVkVHlwZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjA1LDcgKzIyMDMsNiBAQAogCQkJCTk2OUEwNzk1MEVE
MUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUuaCAqLywKIAkJCQkwRkQ4MkU4NDE0MUYzRkRBMDAxNzlD
OTQgLyogUHJlZGljdGVkVHlwZS5jcHAgKi8sCiAJCQkJMEZEODJFNEYxNDFEQUVBMTAwMTc5Qzk0
IC8qIFByZWRpY3RlZFR5cGUuaCAqLywKLQkJCQkwRkQ4MkU1MDE0MURBRUExMDAxNzlDOTQgLyog
UHJlZGljdGlvblRyYWNrZXIuaCAqLywKIAkJCQkxNDI5RDg4MzBFRDIxQzNEMDBCODk2MTkgLyog
U2FtcGxpbmdUb29sLmNwcCAqLywKIAkJCQkxNDI5RDg4NDBFRDIxQzNEMDBCODk2MTkgLyogU2Ft
cGxpbmdUb29sLmggKi8sCiAJCQkJQkNDRjBEMEIwRUYwQjhBNTAwNDEzQzhGIC8qIFN0cnVjdHVy
ZVN0dWJJbmZvLmNwcCAqLywKQEAgLTI0MzYsNyArMjQzMyw2IEBACiAJCQkJOTMwNTJDMzUwRkI3
OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTMwM0Q2
NDE0NDdCOUUxMDBEM0Y5MDQgLyogUGFyc2VyVG9rZW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RkQ4MkU1NDE0MURBRUVFMDAxNzlDOTQgLyogUHJlZGljdGVkVHlwZS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJMEZEODJFNTUxNDFEQUVFRTAwMTc5Qzk0IC8qIFByZWRpY3Rpb25UcmFja2VyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzE4QzQ1MDBFMTZGNUNEMDBCMzQ0NjAgLyogUHJvZmlsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NTEwRTE2RjVDRDAwQjM0NDYwIC8qIFByb2ZpbGVOb2Rl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQ1MjBFMTZGNUNEMDBCMzQ0NjAgLyogUHJvZmls
ZXIuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaAkocmV2aXNpb24gMTEzODI4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw2IEBACiAj
aW5jbHVkZSAiTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuaCIKICNpbmNsdWRlICJMaW5lSW5mby5o
IgogI2luY2x1ZGUgIk5vZGVzLmgiCi0jaW5jbHVkZSAiUHJlZGljdGlvblRyYWNrZXIuaCIKICNp
bmNsdWRlICJSZWdFeHBPYmplY3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmVTdHViSW5mby5oIgog
I2luY2x1ZGUgIlVTdHJpbmcuaCIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9QcmVkaWN0aW9uVHJhY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9QcmVkaWN0aW9uVHJhY2tlci5oCShyZXZpc2lvbiAxMTM4MjgpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJlZGljdGlvblRyYWNrZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMSw3NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotICovCi0KLSNpZm5kZWYgUHJlZGljdGlvblRyYWNrZXJfaAotI2RlZmluZSBQcmVkaWN0
aW9uVHJhY2tlcl9oCi0KLSNpbmNsdWRlICJQcmVkaWN0ZWRUeXBlLmgiCi0jaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KLQotbmFtZXNwYWNlIEpTQyB7Ci0KLXN0cnVjdCBQcmVkaWN0aW9uU2xvdCB7
Ci1wdWJsaWM6Ci0gICAgUHJlZGljdGlvblNsb3QoKQotICAgICAgICA6IG1fdmFsdWUoUHJlZGlj
dE5vbmUpCi0gICAgewotICAgIH0KLSAgICBQcmVkaWN0ZWRUeXBlIG1fdmFsdWU7Ci19OwotCi1j
bGFzcyBQcmVkaWN0aW9uVHJhY2tlciB7Ci1wdWJsaWM6Ci0gICAgUHJlZGljdGlvblRyYWNrZXIo
KQotICAgIHsKLSAgICB9Ci0gICAgCi0gICAgYm9vbCBwcmVkaWN0R2xvYmFsVmFyKHVuc2lnbmVk
IHZhck51bWJlciwgUHJlZGljdGVkVHlwZSBwcmVkaWN0aW9uKQotICAgIHsKLSAgICAgICAgSGFz
aE1hcDx1bnNpZ25lZCwgUHJlZGljdGlvblNsb3Q+OjppdGVyYXRvciBpdGVyID0gbV9nbG9iYWxW
YXJzLmZpbmQodmFyTnVtYmVyICsgMSk7Ci0gICAgICAgIGlmIChpdGVyID09IG1fZ2xvYmFsVmFy
cy5lbmQoKSkgewotICAgICAgICAgICAgUHJlZGljdGlvblNsb3QgcHJlZGljdGlvblNsb3Q7Ci0g
ICAgICAgICAgICBib29sIHJlc3VsdCA9IG1lcmdlUHJlZGljdGlvbihwcmVkaWN0aW9uU2xvdC5t
X3ZhbHVlLCBwcmVkaWN0aW9uKTsKLSAgICAgICAgICAgIG1fZ2xvYmFsVmFycy5hZGQodmFyTnVt
YmVyICsgMSwgcHJlZGljdGlvblNsb3QpOwotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAg
ICAgICAgfQotICAgICAgICByZXR1cm4gbWVyZ2VQcmVkaWN0aW9uKGl0ZXItPnNlY29uZC5tX3Zh
bHVlLCBwcmVkaWN0aW9uKTsKLSAgICB9Ci0gICAgCi0gICAgUHJlZGljdGVkVHlwZSBnZXRHbG9i
YWxWYXJQcmVkaWN0aW9uKHVuc2lnbmVkIHZhck51bWJlcikKLSAgICB7Ci0gICAgICAgIEhhc2hN
YXA8dW5zaWduZWQsIFByZWRpY3Rpb25TbG90Pjo6aXRlcmF0b3IgaXRlciA9IG1fZ2xvYmFsVmFy
cy5maW5kKHZhck51bWJlciArIDEpOwotICAgICAgICBpZiAoaXRlciA9PSBtX2dsb2JhbFZhcnMu
ZW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gUHJlZGljdE5vbmU7Ci0gICAgICAgIHJldHVybiBp
dGVyLT5zZWNvbmQubV92YWx1ZTsKLSAgICB9Ci0gICAgCi1wcml2YXRlOgotICAgIEhhc2hNYXA8
dW5zaWduZWQsIFByZWRpY3Rpb25TbG90PiBtX2dsb2JhbFZhcnM7Ci19OwotCi19IC8vIG5hbWVz
cGFjZSBKU0MKLQotI2VuZGlmIC8vIFByZWRpY3Rpb25UcmFja2VyX2gKLQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9u
IDExMzgyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDIyLDkgKzIwMjIsOCBAQCBib29sIEJ5dGVDb2RlUGFy
c2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgIGNhc2Ugb3BfZ2V0X2dsb2JhbF92YXI6
IHsKICAgICAgICAgICAgIFByZWRpY3RlZFR5cGUgcHJlZGljdGlvbiA9IGdldFByZWRpY3Rpb24o
KTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgTm9kZUluZGV4IGdldEdsb2JhbFZhciA9IGFk
ZFRvR3JhcGgoR2V0R2xvYmFsVmFyLCBPcEluZm8oY3VycmVudEluc3RydWN0aW9uWzJdLnUub3Bl
cmFuZCkpOworICAgICAgICAgICAgTm9kZUluZGV4IGdldEdsb2JhbFZhciA9IGFkZFRvR3JhcGgo
R2V0R2xvYmFsVmFyLCBPcEluZm8oY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCksIE9w
SW5mbyhwcmVkaWN0aW9uKSk7CiAgICAgICAgICAgICBzZXQoY3VycmVudEluc3RydWN0aW9uWzFd
LnUub3BlcmFuZCwgZ2V0R2xvYmFsVmFyKTsKLSAgICAgICAgICAgIG1fZ3JhcGgucHJlZGljdEds
b2JhbFZhcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCBwcmVkaWN0aW9uKTsKICAg
ICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2dldF9nbG9iYWxfdmFyKTsKICAgICAgICAgfQogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dlbmVyYXRpb25JbmZvLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHZW5lcmF0aW9uSW5mby5oCShy
ZXZpc2lvbiAxMTM4MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dlbmVyYXRp
b25JbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0IEBACisKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAxMTM4MjgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjY4LDggKzI2OCw2IEBAIHZvaWQgR3JhcGg6OmR1bXAoTm9kZUluZGV4IG5vZGVJbmRleCkKICAg
ICAgICAgICAgIGRhdGFMb2coIiAgcHJlZGljdGluZyAlcywgZG91YmxlIHJhdGlvICVsZiVzIiwg
cHJlZGljdGlvblRvU3RyaW5nKG5vZGUudmFyaWFibGVBY2Nlc3NEYXRhKCktPnByZWRpY3Rpb24o
KSksIG5vZGUudmFyaWFibGVBY2Nlc3NEYXRhKCktPmRvdWJsZVZvdGVSYXRpbygpLCBub2RlLnZh
cmlhYmxlQWNjZXNzRGF0YSgpLT5zaG91bGRVc2VEb3VibGVGb3JtYXQoKSA/ICIsIGZvcmNpbmcg
ZG91YmxlIiA6ICIiKTsKICAgICAgICAgZWxzZSBpZiAobm9kZS5oYXNIZWFwUHJlZGljdGlvbigp
KQogICAgICAgICAgICAgZGF0YUxvZygiICBwcmVkaWN0aW5nICVzIiwgcHJlZGljdGlvblRvU3Ry
aW5nKG5vZGUuZ2V0SGVhcFByZWRpY3Rpb24oKSkpOwotICAgICAgICBlbHNlIGlmIChub2RlLmhh
c1Zhck51bWJlcigpKQotICAgICAgICAgICAgZGF0YUxvZygiICBwcmVkaWN0aW5nICVzIiwgcHJl
ZGljdGlvblRvU3RyaW5nKGdldEdsb2JhbFZhclByZWRpY3Rpb24obm9kZS52YXJOdW1iZXIoKSkp
KTsKICAgICB9CiAgICAgCiAgICAgZGF0YUxvZygiXG4iKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9uIDExMzgyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHR3JhcGguaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNiBAQAogI2lu
Y2x1ZGUgIkRGR0Jhc2ljQmxvY2suaCIKICNpbmNsdWRlICJERkdOb2RlLmgiCiAjaW5jbHVkZSAi
TWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5oIgotI2luY2x1ZGUgIlByZWRpY3Rpb25UcmFj
a2VyLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXJGaWxlLmgiCiAjaW5jbHVkZSA8d3RmL0JpdFZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xNDgsMTYgKzE0Nyw2IEBAIHB1Ymxp
YzoKIAogICAgIEJsb2NrSW5kZXggYmxvY2tJbmRleEZvckJ5dGVjb2RlT2Zmc2V0KFZlY3RvcjxC
bG9ja0luZGV4PiYgYmxvY2tzLCB1bnNpZ25lZCBieXRlY29kZUJlZ2luKTsKIAotICAgIGJvb2wg
cHJlZGljdEdsb2JhbFZhcih1bnNpZ25lZCB2YXJOdW1iZXIsIFByZWRpY3RlZFR5cGUgcHJlZGlj
dGlvbikKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3ByZWRpY3Rpb25zLnByZWRpY3RHbG9iYWxW
YXIodmFyTnVtYmVyLCBwcmVkaWN0aW9uKTsKLSAgICB9Ci0gICAgCi0gICAgUHJlZGljdGVkVHlw
ZSBnZXRHbG9iYWxWYXJQcmVkaWN0aW9uKHVuc2lnbmVkIHZhck51bWJlcikKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBtX3ByZWRpY3Rpb25zLmdldEdsb2JhbFZhclByZWRpY3Rpb24odmFyTnVtYmVy
KTsKLSAgICB9Ci0gICAgCiAgICAgUHJlZGljdGVkVHlwZSBnZXRKU0NvbnN0YW50UHJlZGljdGlv
bihOb2RlJiBub2RlKQogICAgIHsKICAgICAgICAgcmV0dXJuIHByZWRpY3Rpb25Gcm9tVmFsdWUo
bm9kZS52YWx1ZU9mSlNDb25zdGFudChtX2NvZGVCbG9jaykpOwpAQCAtMzkwLDggKzM3OSw2IEBA
IHByaXZhdGU6CiAgICAgLy8gV2hlbiBhIG5vZGUncyByZWZDb3VudCBnb2VzIGZyb20gMCB0byAx
LCBpdCBtdXN0IChsb2dpY2FsbHkpIHJlY3Vyc2l2ZWx5IHJlZiBhbGwgb2YgaXRzIGNoaWxkcmVu
LCBhbmQgdmljZSB2ZXJzYS4KICAgICB2b2lkIHJlZkNoaWxkcmVuKE5vZGVJbmRleCk7CiAgICAg
dm9pZCBkZXJlZkNoaWxkcmVuKE5vZGVJbmRleCk7Ci0KLSAgICBQcmVkaWN0aW9uVHJhY2tlciBt
X3ByZWRpY3Rpb25zOwogfTsKIAogY2xhc3MgR2V0Qnl0ZWNvZGVCZWdpbkZvckJsb2NrIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCShyZXZpc2lvbiAxMTM4MjgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDc2
LDYgKzQ3Niw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBBcnJheVB1c2g6CiAgICAg
ICAgIGNhc2UgUmVnRXhwRXhlYzoKICAgICAgICAgY2FzZSBSZWdFeHBUZXN0OgorICAgICAgICBj
YXNlIEdldEdsb2JhbFZhcjoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAJKHJldmlzaW9uIDExMzgyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDcsMTQgKzQ0
NywxMSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBH
ZXRHbG9iYWxWYXI6IHsKLSAgICAgICAgICAgIFByZWRpY3RlZFR5cGUgcHJlZGljdGlvbiA9IG1f
Z3JhcGguZ2V0R2xvYmFsVmFyUHJlZGljdGlvbihub2RlLnZhck51bWJlcigpKTsKLSAgICAgICAg
ICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKHByZWRpY3Rpb24pOworICAgICAgICAgICAg
Y2hhbmdlZCB8PSBtZXJnZVByZWRpY3Rpb24obm9kZS5nZXRIZWFwUHJlZGljdGlvbigpKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBQ
dXRHbG9iYWxWYXI6IHsKLSAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaC5wcmVkaWN0R2xv
YmFsVmFyKAotICAgICAgICAgICAgICAgIG5vZGUudmFyTnVtYmVyKCksIG1fZ3JhcGhbbm9kZS5j
aGlsZDEoKV0ucHJlZGljdGlvbigpKTsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtu
b2RlLmNoaWxkMSgpXS5tZXJnZUZsYWdzKE5vZGVVc2VkQXNWYWx1ZSk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQo=
</data>
<flag name="review"
          id="141510"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>