<?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>91717</bug_id>
          
          <creation_ts>2012-07-18 23:38:19 -0700</creation_ts>
          <short_desc>DFG cell checks should be hoisted</short_desc>
          <delta_ts>2012-07-23 07:48:54 -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>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>
          <dependson>92002</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>673209</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-07-18 23:38:19 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673216</commentid>
    <comment_count>1</comment_count>
      <attachid>153189</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-07-18 23:47:30 -0700</bug_when>
    <thetext>Created attachment 153189
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673222</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-18 23:51:04 -0700</bug_when>
    <thetext>Attachment 153189 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/assembler/X86Assembler.h:1000:  testq_rm is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673669</commentid>
    <comment_count>3</comment_count>
      <attachid>153189</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-07-19 10:51:44 -0700</bug_when>
    <thetext>Comment on attachment 153189
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674098</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-07-19 20:52:52 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/123169</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153189</attachid>
            <date>2012-07-18 23:47:30 -0700</date>
            <delta_ts>2012-07-19 10:51:44 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>cellhoist_patch_1.diff</filename>
            <type>text/plain</type>
            <size>13947</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIzMDc0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBA
CisyMDEyLTA3LTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIGNlbGwgY2hlY2tzIHNob3VsZCBiZSBob2lzdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTcxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBERkcgaGFzIGFsd2F5cyBoYWQgdGhlIHBvbGlj
eSBvZiBob2lzdGluZyBhcnJheSBhbmQgaW50ZWdlciBjaGVja3MgdG8KKyAgICAgICAgdGhlIHBv
aW50IG9mIHZhcmlhYmxlIGFzc2lnbm1lbnQuIEV2ZW50dWFsbHksIHdlIGFkZGVkIGRvdWJsZXMg
YW5kIGJvb2xlYW5zCisgICAgICAgIHRvIHRoZSBtaXguIEJ1dCBjZWxscyBzaG91bGQgcmVhbGx5
IGJlIHBhcnQgb2YgdGhpcyBhcyB3ZWxsLCBwYXJ0aWN1bGFybHkKKyAgICAgICAgZm9yIDMyLWJp
dCB3aGVyZSBhY2Nlc3NpbmcgYSBrbm93bi10eXBlIHZhcmlhYmxlIGlzIGRyYW1hdGljYWxseSBj
aGVhcGVyCisgICAgICAgIHRoYW4gYWNjZXNzaW5nIGEgdmFyaWFibGUgd2hvc2UgdHlwZXMgaXMg
b25seSBwcmVkaWN0ZWQgYnV0IG90aGVyd2lzZQorICAgICAgICB1bnByb3Zlbi4KKyAgICAgICAg
CisgICAgICAgIFRoaXMgYXBwZWFycyB0byBiZSBhIGRlZmluaXRlIHNwZWVkLXVwIGZvciBWOCBv
biAzMi1iaXQsIGEgcG9zc2libGUgc3BlZWQtdXAKKyAgICAgICAgZm9yIEtyYWtlbiwgYW5kIGEg
cG9zc2libGUgc2xvdy1kb3duIGZvciBWOCBvbiA2NC1iaXQgKGFyb3VuZCAwLjIlIGlmIGF0Cisg
ICAgICAgIGFsbCkuIEFueSBzbG93LWRvd25zIGNhbiwgYW5kIHNob3VsZCwgYmUgYWRkcmVzc2Vk
IGJ5IG1ha2luZyB0aGUgaG9pc3RpbmcKKyAgICAgICAgbG9naWMgY29nbml6YW50IG9mIHZhcmlh
YmxlcyB0aGF0IGFyZSBuZXZlciB1c2VkIGluIGEgbWFubmVyIHRoYXQgcmVxdWlyZXMKKyAgICAg
ICAgdHlwZSBjaGVja3MsIGFuZCBieSBzaW5raW5nIGFyZ3VtZW50IGNoZWNrcyB0byB0aGUgcG9p
bnQocykgb2YgZmlyc3QgdXNlLgorICAgICAgICAKKyAgICAgICAgVG8gbWFrZSB0aGlzIHdvcmsg
SSBoYWQgdG8gY2hhbmdlIHNvbWUgT1NSIG1hY2hpbmVyeSwgYW5kIHNwZWNpYWwtY2FzZSB0aGUK
KyAgICAgICAgdHlwZSBwcmVkaWN0aW9ucyBvZiB0aGUgJ3RoaXMnIGFyZ3VtZW50IGZvciBjb25z
dHJ1Y3RvcnMuIE9TUiBleGl0IG5vcm1hbGx5CisgICAgICAgIGFzc3VtZXMgdGhhdCBhcmd1bWVu
dHMgYXJlIGJveGVkLCB3aGljaCBoYXBwZW5zIHRvIGJlIHRydWUgYmVjYXVzZSB0aGUKKyAgICAg
ICAgdHlwZSBwcmVkaWN0aW9uIHVzZWQgZm9yIGNoZWNrIGhvaXN0aW5nIGlzIExVQidkIHdpdGgg
dGhlIHR5cGUgb2YgdGhlCisgICAgICAgIGFyZ3VtZW50IHRoYXQgd2FzIHBhc3NlZCBpbiAtIHNv
IGVpdGhlciB0aGUgYXJndW1lbnRzIGFyZSBhbHdheXMgc3RvcmVkIHRvCisgICAgICAgIHdpdGgg
dGhlIGZ1bGwgdGFnK3BheWxvYWQsIG9yIGlmIG9ubHkgdGhlIHBheWxvYWQgaXMgc3RvcmVkIHRo
ZW4gdGhlIHRhZworICAgICAgICBtYXRjaGVzIHdoYXRldmVyIHRoZSBjYWxsZXIgd291bGQgaGF2
ZSBzZXQuIEJ1dCBub3Qgc28gd2l0aCB0aGUgJ3RoaXMnCisgICAgICAgIGFyZ3VtZW50IGZvciBj
b25zdHJ1Y3RvcnMsIHdoaWNoIGlzIG5vdCBpbml0aWFsaXplZCBieSB0aGUgY2FsbGVyLiBXZQor
ICAgICAgICBjb3VsZCBtYWtlIHRoaXMgbW9yZSBwcmVjaXNlIGJ5IGhhdmluZyBhcmd1bWVudCB0
eXBlcyBmb3IgT1NSIGJlIGluZmVycmVkCisgICAgICAgIHVzaW5nIHNpbWlsYXIgbWFjaGluZXJ5
IHRvIG90aGVyIGxvY2FscywgYnV0IEkgZmlndXJlZCB0aGF0IGZvciB0aGlzIHBhdGNoCisgICAg
ICAgIEkgc2hvdWxkIHVzZSB0aGUgc3VyZ2ljYWwgZml4LgorCisgICAgICAgICogYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyWDg2XzY0Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
XzY0OjpicmFuY2hUZXN0UHRyKToKKyAgICAgICAgKE1hY3JvQXNzZW1ibGVyWDg2XzY0KToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6Olg4NkFzc2Vt
Ymxlcjo6dGVzdHFfcm0pOgorICAgICAgICAoWDg2QXNzZW1ibGVyKToKKyAgICAgICAgKiBkZmcv
REZHQWJzdHJhY3RTdGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RTdGF0ZTo6
aW5pdGlhbGl6ZSk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RTdGF0ZTo6ZXhlY3V0ZSk6
CisgICAgICAgICogZGZnL0RGR0RyaXZlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Y29tcGls
ZSk6CisgICAgICAgICogZGZnL0RGR0dyYXBoLmg6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6
OmlzQ3JlYXRlZFRoaXNBcmd1bWVudCk6CisgICAgICAgIChHcmFwaCk6CisgICAgICAgICogZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6Y2hlY2tBcmd1bWVudFR5cGVzKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1ZhbHVlU291cmNl
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6VmFsdWVTb3VyY2U6OmZvclNwZWN1bGF0aW9uKToKKwog
MjAxMi0wNy0xOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIERG
RyBzaG91bGQgZW1pdCBpbmxpbmUgY29kZSBmb3IgcHJvcGVydHkgc3RvcmFnZSAocmUpYWxsb2Nh
dGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clg4Nl82NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJYODZfNjQuaAkocmV2aXNpb24gMTIzMDI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00NzYsNiArNDc2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEp1bXAobV9hc3Nl
bWJsZXIuakNDKHg4NkNvbmRpdGlvbihjb25kKSkpOwogICAgIH0KIAorICAgIEp1bXAgYnJhbmNo
VGVzdFB0cihSZXN1bHRDb25kaXRpb24gY29uZCwgQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklE
IHJlZykKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLnRlc3RxX3JtKHJlZywgYWRkcmVzcy5v
ZmZzZXQsIGFkZHJlc3MuYmFzZSk7CisgICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpD
Qyh4ODZDb25kaXRpb24oY29uZCkpKTsKKyAgICB9CisKICAgICBKdW1wIGJyYW5jaFRlc3RQdHIo
UmVzdWx0Q29uZGl0aW9uIGNvbmQsIEJhc2VJbmRleCBhZGRyZXNzLCBUcnVzdGVkSW1tMzIgbWFz
ayA9IFRydXN0ZWRJbW0zMigtMSkpCiAgICAgewogICAgICAgICBpZiAobWFzay5tX3ZhbHVlID09
IC0xKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1g4NkFzc2Vt
Ymxlci5oCShyZXZpc2lvbiAxMjMwMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL1g4NkFzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC05OTcsNiArOTk3LDExIEBAIHB1
YmxpYzoKICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1BfVEVTVF9Fdkd2LCBzcmMs
IGRzdCk7CiAgICAgfQogCisgICAgdm9pZCB0ZXN0cV9ybShSZWdpc3RlcklEIHNyYywgaW50IG9m
ZnNldCwgUmVnaXN0ZXJJRCBiYXNlKQorICAgIHsKKyAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0
ZU9wNjQoT1BfVEVTVF9Fdkd2LCBzcmMsIGJhc2UsIG9mZnNldCk7CisgICAgfQorCiAgICAgdm9p
ZCB0ZXN0cV9pMzJyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKICAgICAgICAgbV9m
b3JtYXR0ZXIub25lQnl0ZU9wNjQoT1BfR1JPVVAzX0V2SXosIEdST1VQM19PUF9URVNULCBkc3Qp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3RhdGUu
Y3BwCShyZXZpc2lvbiAxMjMwMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0U3RhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDggQEAgdm9pZCBB
YnN0cmFjdFN0YXRlOjppbml0aWFsaXplKEdyYXBoJiBncgogICAgICAgICAgICAgcm9vdC0+dmFs
dWVzQXRIZWFkLmFyZ3VtZW50KGkpLnNldChTcGVjRmxvYXQzMkFycmF5KTsKICAgICAgICAgZWxz
ZSBpZiAoaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKICAgICAgICAgICAg
IHJvb3QtPnZhbHVlc0F0SGVhZC5hcmd1bWVudChpKS5zZXQoU3BlY0Zsb2F0NjRBcnJheSk7Cisg
ICAgICAgIGVsc2UgaWYgKGlzQ2VsbFNwZWN1bGF0aW9uKHByZWRpY3Rpb24pKQorICAgICAgICAg
ICAgcm9vdC0+dmFsdWVzQXRIZWFkLmFyZ3VtZW50KGkpLnNldChTcGVjQ2VsbCk7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIHJvb3QtPnZhbHVlc0F0SGVhZC5hcmd1bWVudChpKS5tYWtlVG9w
KCk7CiAgICAgICAgIApAQCAtMjcyLDcgKzI3NCw4IEBAIGJvb2wgQWJzdHJhY3RTdGF0ZTo6ZXhl
Y3V0ZSh1bnNpZ25lZCBpbmQKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgU2V0TG9jYWw6IHsK
LSAgICAgICAgaWYgKG5vZGUudmFyaWFibGVBY2Nlc3NEYXRhKCktPmlzQ2FwdHVyZWQoKSkgewor
ICAgICAgICBpZiAobm9kZS52YXJpYWJsZUFjY2Vzc0RhdGEoKS0+aXNDYXB0dXJlZCgpCisgICAg
ICAgICAgICB8fCBtX2dyYXBoLmlzQ3JlYXRlZFRoaXNBcmd1bWVudChub2RlLmxvY2FsKCkpKSB7
CiAgICAgICAgICAgICBtX3ZhcmlhYmxlcy5vcGVyYW5kKG5vZGUubG9jYWwoKSkgPSBmb3JOb2Rl
KG5vZGUuY2hpbGQxKCkpOwogICAgICAgICAgICAgbm9kZS5zZXRDYW5FeGl0KGZhbHNlKTsKICAg
ICAgICAgICAgIGJyZWFrOwpAQCAtMjkwLDYgKzI5Myw5IEBAIGJvb2wgQWJzdHJhY3RTdGF0ZTo6
ZXhlY3V0ZSh1bnNpZ25lZCBpbmQKICAgICAgICAgZWxzZSBpZiAoaXNBcnJheVNwZWN1bGF0aW9u
KHByZWRpY3RlZFR5cGUpKSB7CiAgICAgICAgICAgICBub2RlLnNldENhbkV4aXQoIWlzQXJyYXlT
cGVjdWxhdGlvbihmb3JOb2RlKG5vZGUuY2hpbGQxKCkpLm1fdHlwZSkpOwogICAgICAgICAgICAg
Zm9yTm9kZShub2RlLmNoaWxkMSgpKS5maWx0ZXIoU3BlY0FycmF5KTsKKyAgICAgICAgfSBlbHNl
IGlmIChpc0NlbGxTcGVjdWxhdGlvbihwcmVkaWN0ZWRUeXBlKSkgeworICAgICAgICAgICAgbm9k
ZS5zZXRDYW5FeGl0KCFpc0NlbGxTcGVjdWxhdGlvbihmb3JOb2RlKG5vZGUuY2hpbGQxKCkpLm1f
dHlwZSkpOworICAgICAgICAgICAgZm9yTm9kZShub2RlLmNoaWxkMSgpKS5maWx0ZXIoU3BlY0Nl
bGwpOwogICAgICAgICB9IGVsc2UgaWYgKGlzQm9vbGVhblNwZWN1bGF0aW9uKHByZWRpY3RlZFR5
cGUpKQogICAgICAgICAgICAgc3BlY3VsYXRlQm9vbGVhblVuYXJ5KG5vZGUpOwogICAgICAgICBl
bHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuY3BwCShyZXZpc2lv
biAxMjMwMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RyaXZlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY0LDcgKzY0LDcgQEAgaW5saW5lIGJvb2wgY29tcGlsZShDb21waWxl
TW9kZSBjb21waWxlTQogCiAgICAgaWYgKCFPcHRpb25zOjp1c2VERkdKSVQoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwotCisgICAgCiAjaWYgREZHX0VOQUJMRShERUJVR19WRVJCT1NFKQogICAg
IGRhdGFMb2coIkRGRyBjb21waWxpbmcgY29kZSBibG9jayAlcCglcCkgZm9yIGV4ZWN1dGFibGUg
JXAsIG51bWJlciBvZiBpbnN0cnVjdGlvbnMgPSAldS5cbiIsIGNvZGVCbG9jaywgY29kZUJsb2Nr
LT5hbHRlcm5hdGl2ZSgpLCBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBjb2RlQmxvY2st
Pmluc3RydWN0aW9uQ291bnQoKSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHR3JhcGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0dyYXBoLmgJKHJldmlzaW9uIDEyMzAyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR3JhcGguaAkod29ya2luZyBjb3B5KQpAQCAtNDQxLDYgKzQ0MSwxNSBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBtX2NvZGVCbG9jay0+dXNlc0FyZ3VtZW50cygpOwogICAgIH0KICAg
ICAKKyAgICBib29sIGlzQ3JlYXRlZFRoaXNBcmd1bWVudChpbnQgb3BlcmFuZCkKKyAgICB7Cisg
ICAgICAgIGlmICghb3BlcmFuZElzQXJndW1lbnQob3BlcmFuZCkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIGlmIChvcGVyYW5kVG9Bcmd1bWVudChvcGVyYW5kKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIG1fY29kZUJsb2NrLT5zcGVjaWFs
aXphdGlvbktpbmQoKSA9PSBDb2RlRm9yQ29uc3RydWN0OworICAgIH0KKyAgICAKICAgICB1bnNp
Z25lZCBudW1TdWNjZXNzb3JzKEJhc2ljQmxvY2sqIGJsb2NrKQogICAgIHsKICAgICAgICAgcmV0
dXJuIGF0KGJsb2NrLT5sYXN0KCkpLm51bVN1Y2Nlc3NvcnMoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2
aXNpb24gMTIzMDI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkxOCw3ICsxOTE4LDcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAoaXNBcnJheVNwZWN1bGF0aW9uKHZh
bHVlLm1fdHlwZSkpIHsKKyAgICAgICAgICAgIGlmIChpc0FycmF5U3BlY3VsYXRpb24odmFsdWUu
bV90eXBlKSB8fCBpc0NlbGxTcGVjdWxhdGlvbih2YWx1ZS5tX3R5cGUpKSB7CiAgICAgICAgICAg
ICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgICAgICAgICBtX2ppdC5s
b2FkMzIoSklUQ29tcGlsZXI6OnBheWxvYWRGb3Iobm9kZS5sb2NhbCgpKSwgcmVzdWx0Lmdwcigp
KTsKIApAQCAtMjAxMCw3ICsyMDEwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlJiBub2RlKQogICAgICAgICAvLyBPU1IgZXhpdCwgd291bGQgbm90IGJlIHZpc2libGUgdG8g
dGhlIG9sZCBKSVQgaW4gYW55IHdheS4KICAgICAgICAgbV9jb2RlT3JpZ2luRm9yT1NSID0gbmV4
dE5vZGUtPmNvZGVPcmlnaW47CiAgICAgICAgIAotICAgICAgICBpZiAoIW5vZGUudmFyaWFibGVB
Y2Nlc3NEYXRhKCktPmlzQ2FwdHVyZWQoKSkgeworICAgICAgICBpZiAoIW5vZGUudmFyaWFibGVB
Y2Nlc3NEYXRhKCktPmlzQ2FwdHVyZWQoKSAmJiAhbV9qaXQuZ3JhcGgoKS5pc0NyZWF0ZWRUaGlz
QXJndW1lbnQobm9kZS5sb2NhbCgpKSkgewogICAgICAgICAgICAgaWYgKG5vZGUudmFyaWFibGVB
Y2Nlc3NEYXRhKCktPnNob3VsZFVzZURvdWJsZUZvcm1hdCgpKSB7CiAgICAgICAgICAgICAgICAg
U3BlY3VsYXRlRG91YmxlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2RlLmNoaWxkMSgpKTsKICAgICAg
ICAgICAgICAgICBtX2ppdC5zdG9yZURvdWJsZSh2YWx1ZS5mcHIoKSwgSklUQ29tcGlsZXI6OmFk
ZHJlc3NGb3Iobm9kZS5sb2NhbCgpKSk7CkBAIC0yMDQ2LDYgKzIwNDYsMTQgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICAgICAgICAgIHJlY29yZFNl
dExvY2FsKG5vZGUubG9jYWwoKSwgVmFsdWVTb3VyY2UoQ2VsbEluUmVnaXN0ZXJGaWxlKSk7CiAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoaXND
ZWxsU3BlY3VsYXRpb24ocHJlZGljdGVkVHlwZSkpIHsKKyAgICAgICAgICAgICAgICBTcGVjdWxh
dGVDZWxsT3BlcmFuZCBjZWxsKHRoaXMsIG5vZGUuY2hpbGQxKCkpOworICAgICAgICAgICAgICAg
IEdQUlJlZyBjZWxsR1BSID0gY2VsbC5ncHIoKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5zdG9y
ZVB0cihjZWxsR1BSLCBKSVRDb21waWxlcjo6cGF5bG9hZEZvcihub2RlLmxvY2FsKCkpKTsKKyAg
ICAgICAgICAgICAgICBub1Jlc3VsdChtX2NvbXBpbGVJbmRleCk7CisgICAgICAgICAgICAgICAg
cmVjb3JkU2V0TG9jYWwobm9kZS5sb2NhbCgpLCBWYWx1ZVNvdXJjZShDZWxsSW5SZWdpc3RlckZp
bGUpKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGlmIChpc0Jvb2xlYW5TcGVjdWxhdGlvbihwcmVkaWN0ZWRUeXBlKSkgewogICAgICAgICAgICAg
ICAgIFNwZWN1bGF0ZUJvb2xlYW5PcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwog
ICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIodmFsdWUuZ3ByKCksIEpJVENvbXBpbGVyOjpw
YXlsb2FkRm9yKG5vZGUubG9jYWwoKSkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxMjMwMjkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMDUyLDcgKzIwNTIsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUmIG5vZGUpCiAgICAgICAgIC8vIE9TUiBleGl0LCB3b3VsZCBub3QgYmUgdmlzaWJsZSB0
byB0aGUgb2xkIEpJVCBpbiBhbnkgd2F5LgogICAgICAgICBtX2NvZGVPcmlnaW5Gb3JPU1IgPSBu
ZXh0Tm9kZS0+Y29kZU9yaWdpbjsKICAgICAgICAgCi0gICAgICAgIGlmICghbm9kZS52YXJpYWJs
ZUFjY2Vzc0RhdGEoKS0+aXNDYXB0dXJlZCgpKSB7CisgICAgICAgIGlmICghbm9kZS52YXJpYWJs
ZUFjY2Vzc0RhdGEoKS0+aXNDYXB0dXJlZCgpICYmICFtX2ppdC5ncmFwaCgpLmlzQ3JlYXRlZFRo
aXNBcmd1bWVudChub2RlLmxvY2FsKCkpKSB7CiAgICAgICAgICAgICBpZiAobm9kZS52YXJpYWJs
ZUFjY2Vzc0RhdGEoKS0+c2hvdWxkVXNlRG91YmxlRm9ybWF0KCkpIHsKICAgICAgICAgICAgICAg
ICBTcGVjdWxhdGVEb3VibGVPcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwogICAg
ICAgICAgICAgICAgIG1faml0LnN0b3JlRG91YmxlKHZhbHVlLmZwcigpLCBKSVRDb21waWxlcjo6
YWRkcmVzc0Zvcihub2RlLmxvY2FsKCkpKTsKQEAgLTIwODIsNiArMjA4MiwxNCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgICAgICAgICAgcmVjb3Jk
U2V0TG9jYWwobm9kZS5sb2NhbCgpLCBWYWx1ZVNvdXJjZShDZWxsSW5SZWdpc3RlckZpbGUpKTsK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChp
c0NlbGxTcGVjdWxhdGlvbihwcmVkaWN0ZWRUeXBlKSkgeworICAgICAgICAgICAgICAgIFNwZWN1
bGF0ZUNlbGxPcGVyYW5kIGNlbGwodGhpcywgbm9kZS5jaGlsZDEoKSk7CisgICAgICAgICAgICAg
ICAgR1BSUmVnIGNlbGxHUFIgPSBjZWxsLmdwcigpOworICAgICAgICAgICAgICAgIG1faml0LnN0
b3JlUHRyKGNlbGxHUFIsIEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKG5vZGUubG9jYWwoKSkpOwor
ICAgICAgICAgICAgICAgIG5vUmVzdWx0KG1fY29tcGlsZUluZGV4KTsKKyAgICAgICAgICAgICAg
ICByZWNvcmRTZXRMb2NhbChub2RlLmxvY2FsKCksIFZhbHVlU291cmNlKENlbGxJblJlZ2lzdGVy
RmlsZSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKGlzQm9vbGVhblNwZWN1bGF0aW9uKHByZWRpY3RlZFR5cGUpKSB7CiAgICAgICAgICAg
ICAgICAgU3BlY3VsYXRlQm9vbGVhbk9wZXJhbmQgYm9vbGVhbih0aGlzLCBub2RlLmNoaWxkMSgp
KTsKICAgICAgICAgICAgICAgICBtX2ppdC5zdG9yZVB0cihib29sZWFuLmdwcigpLCBKSVRDb21w
aWxlcjo6YWRkcmVzc0Zvcihub2RlLmxvY2FsKCkpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAxMjMwMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI0MSw3ICsxMjQxLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2hlY2tB
cmd1bWVudFR5cGVzKAogICAgICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6YWRk
cmVzc0Zvcih2aXJ0dWFsUmVnaXN0ZXIpLCB0ZW1wLmdwcigpKTsKICAgICAgICAgICAgIHNwZWN1
bGF0aW9uQ2hlY2soQmFkVHlwZSwgdmFsdWVTb3VyY2UsIG5vZGVJbmRleCwgbV9qaXQuYnJhbmNo
VGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgdGVtcC5ncHIoKSwgR1BSSW5mbzo6dGFn
TWFza1JlZ2lzdGVyKSk7CiAgICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIHZh
bHVlU291cmNlLCBub2RlSW5kZXgsIG1faml0LmJyYW5jaFB0cihNYWNyb0Fzc2VtYmxlcjo6Tm90
RXF1YWwsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHRlbXAuZ3ByKCksIEpTQ2VsbDo6Y2xhc3NJ
bmZvT2Zmc2V0KCkpLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihtX2ppdC5nbG9iYWxE
YXRhKCktPmZsb2F0NjRBcnJheURlc2NyaXB0b3IoKS5tX2NsYXNzSW5mbykpKTsKLSAgICAgICAg
fQorICAgICAgICB9IGVsc2UgaWYgKGlzQ2VsbFNwZWN1bGF0aW9uKHByZWRpY3RlZFR5cGUpKQor
ICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCB2YWx1ZVNvdXJjZSwgbm9kZUlu
ZGV4LCBtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBKSVRDb21w
aWxlcjo6YWRkcmVzc0Zvcih2aXJ0dWFsUmVnaXN0ZXIpLCBHUFJJbmZvOjp0YWdNYXNrUmVnaXN0
ZXIpKTsKICNlbHNlCiAgICAgICAgIGlmIChpc0ludDMyU3BlY3VsYXRpb24ocHJlZGljdGVkVHlw
ZSkpCiAgICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIHZhbHVlU291cmNlLCBu
b2RlSW5kZXgsIG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgSklUQ29t
cGlsZXI6OnRhZ0Zvcih2aXJ0dWFsUmVnaXN0ZXIpLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6SW50
MzJUYWcpKSk7CkBAIC0xMzA3LDcgKzEzMDgsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjaGVj
a0FyZ3VtZW50VHlwZXMoCiAgICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIHZh
bHVlU291cmNlLCBub2RlSW5kZXgsIG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpOb3RF
cXVhbCwgdGVtcC5ncHIoKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpKSk7CiAgICAg
ICAgICAgICBtX2ppdC5sb2FkMzIoSklUQ29tcGlsZXI6OnBheWxvYWRGb3IodmlydHVhbFJlZ2lz
dGVyKSwgdGVtcC5ncHIoKSk7CiAgICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUs
IHZhbHVlU291cmNlLCBub2RlSW5kZXgsIG1faml0LmJyYW5jaFB0cihNYWNyb0Fzc2VtYmxlcjo6
Tm90RXF1YWwsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHRlbXAuZ3ByKCksIEpTQ2VsbDo6Y2xh
c3NJbmZvT2Zmc2V0KCkpLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihtX2ppdC5nbG9i
YWxEYXRhKCktPmZsb2F0NjRBcnJheURlc2NyaXB0b3IoKS5tX2NsYXNzSW5mbykpKTsKLSAgICAg
ICAgfSAKKyAgICAgICAgfSAgIGVsc2UgaWYgKGlzQ2VsbFNwZWN1bGF0aW9uKHByZWRpY3RlZFR5
cGUpKQorICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCB2YWx1ZVNvdXJjZSwg
bm9kZUluZGV4LCBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIEpJVENv
bXBpbGVyOjp0YWdGb3IodmlydHVhbFJlZ2lzdGVyKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNl
bGxUYWcpKSk7CiAjZW5kaWYKICAgICB9CiAgICAgbV9pc0NoZWNraW5nQXJndW1lbnRUeXBlcyA9
IGZhbHNlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWx1ZVNvdXJjZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsdWVTb3VyY2Uu
aAkocmV2aXNpb24gMTIzMDI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWx1
ZVNvdXJjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNyArMTMwLDcgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgaWYgKGlzSW50MzJTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKICAgICAgICAg
ICAgIHJldHVybiBWYWx1ZVNvdXJjZShJbnQzMkluUmVnaXN0ZXJGaWxlKTsKLSAgICAgICAgaWYg
KGlzQXJyYXlTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKKyAgICAgICAgaWYgKGlzQXJyYXlTcGVj
dWxhdGlvbihwcmVkaWN0aW9uKSB8fCBpc0NlbGxTcGVjdWxhdGlvbihwcmVkaWN0aW9uKSkKICAg
ICAgICAgICAgIHJldHVybiBWYWx1ZVNvdXJjZShDZWxsSW5SZWdpc3RlckZpbGUpOwogICAgICAg
ICBpZiAoaXNCb29sZWFuU3BlY3VsYXRpb24ocHJlZGljdGlvbikpCiAgICAgICAgICAgICByZXR1
cm4gVmFsdWVTb3VyY2UoQm9vbGVhbkluUmVnaXN0ZXJGaWxlKTsK
</data>
<flag name="review"
          id="162076"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>