<?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>195913</bug_id>
          
          <creation_ts>2019-03-18 14:31:28 -0700</creation_ts>
          <short_desc>Prune code after ForceOSRExit</short_desc>
          <delta_ts>2019-03-19 15:53:48 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=186916</see_also>
          <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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1517930</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-18 14:31:28 -0700</bug_when>
    <thetext>There were issues with how we used to do this. So I rolled it out in r242989 thinking it might not be a perf regression to remove it. It turns out that removing this is a 1% speedometer2 regression. I&apos;ll add back the optimization but this time making it sound.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517939</commentid>
    <comment_count>1</comment_count>
      <attachid>365069</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-18 14:55:06 -0700</bug_when>
    <thetext>Created attachment 365069
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1517940</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-18 14:56:25 -0700</bug_when>
    <thetext>Attachment 365069 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:7333:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 2 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>1517947</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-18 15:06:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/48991872&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518068</commentid>
    <comment_count>4</comment_count>
      <attachid>365069</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-18 18:55:23 -0700</bug_when>
    <thetext>Comment on attachment 365069
patch

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

r=me.

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:7400
&gt; +                    node-&gt;removeWithoutChecks();

Maybe put a comment here that this is needed to make sure that we don&apos;t emit phantoms for the results of opcodes that we are going to remove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518414</commentid>
    <comment_count>5</comment_count>
      <attachid>365069</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-03-19 11:52:18 -0700</bug_when>
    <thetext>Comment on attachment 365069
patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:7400
&gt;&gt; +                    node-&gt;removeWithoutChecks();
&gt; 
&gt; Maybe put a comment here that this is needed to make sure that we don&apos;t emit phantoms for the results of opcodes that we are going to remove.

I&apos;m not super sure a comment here is super helpful.

We&apos;re also removing nodes because we&apos;re bumping nodeIndex in the loop below. So we end up inserting phantoms after some of these things we&apos;re converting to Check(). So it serves as two purposes: don&apos;t emit Phantom on things defined after ForceOSRExit. And don&apos;t have those nodes be anything besides a Check()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518592</commentid>
    <comment_count>6</comment_count>
      <attachid>365069</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-19 15:53:46 -0700</bug_when>
    <thetext>Comment on attachment 365069
patch

Clearing flags on attachment: 365069

Committed r243176: &lt;https://trac.webkit.org/changeset/243176&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518593</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-19 15:53:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365069</attachid>
            <date>2019-03-18 14:55:06 -0700</date>
            <delta_ts>2019-03-19 15:53:46 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>9184</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQzMTA1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDE5LTAzLTE4ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFBydW5lIGNvZGUgYWZ0ZXIgRm9yY2VPU1JFeGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTU5MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJIHJlbW92ZWQgb3VyIG9yaWdpbmFsIGltcGxlbWVudGF0
aW9uIG9mIHRoaXMgaW4gcjI0Mjk4OSBiZWNhdXNlCisgICAgICAgIGl0IHdhcyBub3Qgc291bmQu
IEl0IGJyb2tlIGJhY2t3YXJkcyBwcm9wYWdhdGlvbiBiZWNhdXNlIGl0IHJlbW92ZWQKKyAgICAg
ICAgdXNlcyBvZiBhIG5vZGUgdGhhdCBiYWNrd2FyZHMgcHJvcGFnYXRpb24gcmVsaWVkIG9uIHRv
IGJlIHNvdW5kLgorICAgICAgICBFc3NlbnRpYWxseSwgYmFja3dhcmRzIHByb3BhZ2F0aW9uIHJl
bGllcyBvbiBiZWluZyBhYmxlIHRvIHNlZSB1c2VzCisgICAgICAgIHRoYXQgd291bGQgZXhpc3Qg
aW4gYnl0ZWNvZGUgdG8gYmUgc291bmQuCisgICAgICAgIAorICAgICAgICBUaGUgcm9sbG91dCBp
biByMjQyOTg5IHdhcyBhIDElIFNwZWVkb21ldGVyMiByZWdyZXNzaW9uLiBUaGlzIHBhdGNoCisg
ICAgICAgIHJvbGxzIGJhY2sgaW4gdGhlIG9wdGltaXphdGlvbiBpbiBhIHNvdW5kIHdheS4KKyAg
ICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggYXVnbWVudHMgdGhlIGNvZGUgd2UgaGFkIHByaW9y
IHRvIHIyNDI5ODkgdG8gYmUgc291bmQuIEluCisgICAgICAgIGFkZGl0aW9uIHRvIHByZXNlcnZp
bmcgbGl2ZW5lc3MsIHdlIG5vdyBhbHNvIGNvbnZlcnQgYWxsIHVzZXMgYWZ0ZXIKKyAgICAgICAg
dGhlIEZvcmNlT1NSRXhpdCB0byBiZSBQaGFudG9tLiBUaGlzIG1heSBwZXNzaW1pemUgdGhlIG9w
dGltaXphdGlvbnMKKyAgICAgICAgd2UgZG8gaW4gYmFja3dhcmRzIHByb3BhZ2F0aW9uLCBidXQg
aXQgd2lsbCBwcmV2ZW50IHRoYXQgcGhhc2UgZnJvbQorICAgICAgICBtYWtpbmcgdW5zb3VuZCBv
cHRpbWl6YXRpb25zLgorCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6YWRkVG9HcmFwaCk6CisgICAgICAgIChK
U0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlKToKKwogMjAxOS0wMy0xOCAgUm9iaW4gTW9y
aXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgaW5saW5l
IGNhcGFjaXR5IG9mIE9wZXJhbmRzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjQzMTA1KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTcxNSw2ICs3MTUsOCBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgVkVSQk9TRV9MT0coIiAg
ICAgICAgYXBwZW5kZWQgIiwgbm9kZSwgIiAiLCBHcmFwaDo6b3BOYW1lKG5vZGUtPm9wKCkpLCAi
XG4iKTsKIAorICAgICAgICBtX2hhc0FueUZvcmNlT1NSRXhpdHMgfD0gKG5vZGUtPm9wKCkgPT0g
Rm9yY2VPU1JFeGl0KTsKKwogICAgICAgICBtX2N1cnJlbnRCbG9jay0+YXBwZW5kKG5vZGUpOwog
ICAgICAgICBpZiAoY2xvYmJlcnNFeGl0U3RhdGUobV9ncmFwaCwgbm9kZSkpCiAgICAgICAgICAg
ICBtX2V4aXRPSyA9IGZhbHNlOwpAQCAtMTE3Niw2ICsxMTc4LDcgQEAgcHJpdmF0ZToKIAogICAg
IGNvbnN0IEluc3RydWN0aW9uKiBtX2N1cnJlbnRJbnN0cnVjdGlvbjsKICAgICBib29sIG1faGFz
RGVidWdnZXJFbmFibGVkOworICAgIGJvb2wgbV9oYXNBbnlGb3JjZU9TUkV4aXRzIHsgZmFsc2Ug
fTsKIH07CiAKIEJhc2ljQmxvY2sqIEJ5dGVDb2RlUGFyc2VyOjphbGxvY2F0ZVRhcmdldGFibGVC
bG9jayh1bnNpZ25lZCBieXRlY29kZUluZGV4KQpAQCAtNzI4NCw2ICs3Mjg3LDE0MiBAQCB2b2lk
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZSgpCiAgICAgcGFyc2VDb2RlQmxvY2soKTsKICAgICBsaW5r
QmxvY2tzKGlubGluZVN0YWNrRW50cnkubV91bmxpbmtlZEJsb2NrcywgaW5saW5lU3RhY2tFbnRy
eS5tX2Jsb2NrTGlua2luZ1RhcmdldHMpOwogCisgICAgaWYgKG1faGFzQW55Rm9yY2VPU1JFeGl0
cykgeworICAgICAgICBCbG9ja1NldCBibG9ja3NUb0lnbm9yZTsKKyAgICAgICAgZm9yIChCYXNp
Y0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAg
ICAgICAgaWYgKGJsb2NrLT5pc09TUlRhcmdldCAmJiBibG9jay0+Ynl0ZWNvZGVCZWdpbiA9PSBt
X2dyYXBoLm1fcGxhbi5vc3JFbnRyeUJ5dGVjb2RlSW5kZXgoKSkgeworICAgICAgICAgICAgICAg
IGJsb2Nrc1RvSWdub3JlLmFkZChibG9jayk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICB7CisgICAgICAgICAgICBib29sIGlzU2Fm
ZVRvVmFsaWRhdGUgPSBmYWxzZTsKKyAgICAgICAgICAgIGF1dG8gcG9zdE9yZGVyID0gbV9ncmFw
aC5ibG9ja3NJblBvc3RPcmRlcihpc1NhZmVUb1ZhbGlkYXRlKTsgLy8gVGhpcyBhbGdvcml0aG0g
ZG9lc24ndCByZWx5IG9uIHRoZSBwcmVkZWNlc3NvcnMgbGlzdCwgd2hpY2ggaXMgbm90IHlldCBi
dWlsdC4KKyAgICAgICAgICAgIGJvb2wgY2hhbmdlZDsKKyAgICAgICAgICAgIGRvIHsKKyAgICAg
ICAgICAgICAgICBjaGFuZ2VkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgZm9yIChCYXNpY0Js
b2NrKiBibG9jayA6IHBvc3RPcmRlcikgeworICAgICAgICAgICAgICAgICAgICBmb3IgKEJhc2lj
QmxvY2sqIHN1Y2Nlc3NvciA6IGJsb2NrLT5zdWNjZXNzb3JzKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChibG9ja3NUb0lnbm9yZS5jb250YWlucyhzdWNjZXNzb3IpKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBibG9ja3NUb0lnbm9yZS5hZGQoYmxv
Y2spOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSB3aGlsZSAoY2hhbmdlZCk7CisgICAgICAgIH0KKworICAgICAgICBJbnNlcnRp
b25TZXQgaW5zZXJ0aW9uU2V0KG1fZ3JhcGgpOworICAgICAgICBPcGVyYW5kczxWYXJpYWJsZUFj
Y2Vzc0RhdGEqPiBtYXBwaW5nKE9wZXJhbmRzTGlrZSwgbV9ncmFwaC5ibG9jaygwKS0+dmFyaWFi
bGVzQXRIZWFkKTsKKworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5i
bG9ja3NJbk5hdHVyYWxPcmRlcigpKSB7CisgICAgICAgICAgICBpZiAoYmxvY2tzVG9JZ25vcmUu
Y29udGFpbnMoYmxvY2spKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAg
ICBtYXBwaW5nLmZpbGwobnVsbHB0cik7CisgICAgICAgICAgICBpZiAodmFsaWRhdGlvbkVuYWJs
ZWQoKSkgeworICAgICAgICAgICAgICAgIC8vIFZlcmlmeSB0aGF0IGl0J3MgY29ycmVjdCB0byBm
aWxsIG1hcHBpbmcgd2l0aCBudWxscHRyLgorICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBibG9jay0+dmFyaWFibGVzQXRIZWFkLnNpemUoKTsgKytpKSB7CisgICAgICAg
ICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+dmFyaWFibGVzQXRIZWFkLmF0KGkpOwor
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbm9kZSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRl
eCA9IDA7IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5v
ZGVJbmRleCk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUtPmhhc1ZhcmlhYmxlQWNj
ZXNzRGF0YShtX2dyYXBoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmcub3BlcmFu
ZChub2RlLT5sb2NhbCgpKSA9IG5vZGUtPnZhcmlhYmxlQWNjZXNzRGF0YSgpOworCisgICAgICAg
ICAgICAgICAgICAgIGlmIChub2RlLT5vcCgpICE9IEZvcmNlT1NSRXhpdCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
ICAgIE5vZGVPcmlnaW4gb3JpZ2luID0gYmxvY2stPmF0KG5vZGVJbmRleCktPm9yaWdpbjsKKyAg
ICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChvcmlnaW4uZXhpdE9LKTsKKworICAgICAgICAg
ICAgICAgICsrbm9kZUluZGV4OworCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
ICAgICBpZiAodmFsaWRhdGlvbkVuYWJsZWQoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gVGhpcyB2ZXJpZmllcyB0aGF0IHdlIGRvbid0IG5lZWQgdG8gY2hhbmdlIGFueSBvZiB0aGUg
c3VjY2Vzc29ycydzIHByZWRlY2Vzc29yCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaXN0
IGFmdGVyIHBsYW50aW5nIHRoZSBVbnJlYWNoYWJsZSBiZWxvdy4gQXQgdGhpcyBwb2ludCBpbiB0
aGUgYnl0ZWNvZGUKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBhcnNlciwgd2UgaGF2ZW4n
dCBsaW5rZWQgdXAgdGhlIHByZWRlY2Vzc29yIGxpc3RzIHlldC4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGZvciAoQmFzaWNCbG9jayogc3VjY2Vzc29yIDogYmxvY2stPnN1Y2Nlc3NvcnMoKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdWNjZXNzb3ItPnBy
ZWRlY2Vzc29ycy5pc0VtcHR5KCkpOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICAgICAgYXV0byBpbnNlcnRMaXZlbmVzc1ByZXNlcnZpbmdPcCA9IFsmXSAoSW5saW5l
Q2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUsIE5vZGVUeXBlIG9wLCBWaXJ0dWFsUmVnaXN0ZXIg
b3BlcmFuZCkgeworICAgICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVBY2Nlc3NEYXRhKiB2
YXJpYWJsZSA9IG1hcHBpbmcub3BlcmFuZChvcGVyYW5kKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGlmICghdmFyaWFibGUpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJs
ZSA9IG5ld1ZhcmlhYmxlQWNjZXNzRGF0YShvcGVyYW5kKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtYXBwaW5nLm9wZXJhbmQob3BlcmFuZCkgPSB2YXJpYWJsZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICAgICAgVmlydHVhbFJlZ2lzdGVy
IGFyZ3VtZW50ID0gb3BlcmFuZCAtIChpbmxpbmVDYWxsRnJhbWUgPyBpbmxpbmVDYWxsRnJhbWUt
PnN0YWNrT2Zmc2V0IDogMCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJndW1lbnQu
aXNBcmd1bWVudCgpICYmICFhcmd1bWVudC5pc0hlYWRlcigpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgVmVjdG9yPEFyZ3VtZW50UG9zaXRpb24qPiYgYXJndW1lbnRzID0g
bV9pbmxpbmVDYWxsRnJhbWVUb0FyZ3VtZW50UG9zaXRpb25zLmdldChpbmxpbmVDYWxsRnJhbWUp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50c1thcmd1bWVudC50b0FyZ3Vt
ZW50KCldLT5hZGRWYXJpYWJsZSh2YXJpYWJsZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZShub2RlSW5k
ZXgsIFNwZWNOb25lLCBvcCwgb3JpZ2luLCBPcEluZm8odmFyaWFibGUpKTsKKyAgICAgICAgICAg
ICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBhZGRGbHVzaERpcmVjdCA9IFsm
XSAoSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUsIFZpcnR1YWxSZWdpc3RlciBvcGVy
YW5kKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRMaXZlbmVzc1ByZXNlcnZpbmdP
cChpbmxpbmVDYWxsRnJhbWUsIEZsdXNoLCBvcGVyYW5kKTsKKyAgICAgICAgICAgICAgICAgICAg
fTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBhZGRQaGFudG9tTG9jYWxEaXJlY3QgPSBbJl0g
KElubGluZUNhbGxGcmFtZSogaW5saW5lQ2FsbEZyYW1lLCBWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFu
ZCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0TGl2ZW5lc3NQcmVzZXJ2aW5nT3Ao
aW5saW5lQ2FsbEZyYW1lLCBQaGFudG9tTG9jYWwsIG9wZXJhbmQpOworICAgICAgICAgICAgICAg
ICAgICB9OworICAgICAgICAgICAgICAgICAgICBmbHVzaEZvclRlcm1pbmFsSW1wbChvcmlnaW4u
c2VtYW50aWMsIGFkZEZsdXNoRGlyZWN0LCBhZGRQaGFudG9tTG9jYWxEaXJlY3QpOworICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgICAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCkpOworCisg
ICAgICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsKKwor
ICAgICAgICAgICAgICAgICAgICBub2RlLT5vcmlnaW4gPSBvcmlnaW47CisgICAgICAgICAgICAg
ICAgICAgIG1fZ3JhcGguZG9Ub0NoaWxkcmVuKG5vZGUsIFsmXSAoRWRnZSBlZGdlKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IG5lZWQgdG8ga2VlcCBkYXRhIGZsb3cgZWRn
ZXMgdG8gbm9kZXMgZGVmaW5lZCBwcmlvciB0byB0aGUgRm9yY2VPU1JFeGl0LiBUaGUgcmVhc29u
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBmb3IgdGhpcyBpcyB3ZSByZWx5IG9uIGJhY2t3
YXJkcyBwcm9wYWdhdGlvbiBiZWluZyBhYmxlIHRvIHNlZSB0aGUgImZ1bGwiIGJ5dGVjb2RlLiBU
byBtb2RlbAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcywgd2UgcHJlc2VydmUgdXNl
cyBvZiBhIG5vZGUgaW4gYSBnZW5lcmljIHdheSBzbyB0aGF0IGJhY2t3YXJkcyBwcm9wYWdhdGlv
biBjYW4gcmVhc29uCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBhYm91dCB0aGVtLiBUaGVy
ZWZvcmUsIHdlIGNhbid0IHJlbW92ZSB1c2VzIG9mIGEgbm9kZSB3aGljaCBpcyBkZWZpbmVkIGJl
Zm9yZSB0aGUgRm9yY2VPU1JFeGl0CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBldmVuIHdo
ZW4gd2UncmUgYXQgYSBwb2ludCBpbiB0aGUgcHJvZ3JhbSBhZnRlciB0aGUgRm9yY2VPU1JFeGl0
LCBiZWNhdXNlIHRoYXQgd291bGQgYnJlYWsgYmFja3dhcmRzCisgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBwcm9wYWdhdGlvbidzIGFuYWx5c2lzIG92ZXIgdGhlIHVzZXMgb2YgYSBub2RlLiBI
b3dldmVyLCB3ZSBkb24ndCBuZWVkIHRoaXMgc2FtZSBwcmVzZXJ2YXRpb24gZm9yCisgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBub2RlcyBkZWZpbmVkIGFmdGVyIEZvcmNlT1NSRXhpdCwgYXMg
d2UndmUgYWxyZWFkeSBleGl0dGVkIGJlZm9yZSB0aG9zZSBkZWZzLgorICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKGVkZ2UtPmhhc1Jlc3VsdCgpKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluc2VydGlvblNldC5pbnNlcnROb2RlKG5vZGVJbmRleCwgU3BlY05vbmUsIFBoYW50b20s
IG9yaWdpbiwgRWRnZShlZGdlLm5vZGUoKSwgVW50eXBlZFVzZSkpOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKworICAgICAgICAgICAgICAgICAgICBib29sIGlzVGVybWluYWwgPSBub2RlLT5p
c1Rlcm1pbmFsKCk7CisKKyAgICAgICAgICAgICAgICAgICAgbm9kZS0+cmVtb3ZlV2l0aG91dENo
ZWNrcygpOworCisgICAgICAgICAgICAgICAgICAgIGlmIChpc1Rlcm1pbmFsKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZShub2RlSW5kZXgsIFNwZWNO
b25lLCBVbnJlYWNoYWJsZSwgb3JpZ2luKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgKytub2RlSW5k
ZXg7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaW5zZXJ0aW9uU2V0LmV4
ZWN1dGUoYmxvY2spOworCisgICAgICAgICAgICAgICAgYXV0byBub2RlQW5kSW5kZXggPSBibG9j
ay0+ZmluZFRlcm1pbmFsKCk7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQobm9kZUFu
ZEluZGV4Lm5vZGUtPm9wKCkgPT0gVW5yZWFjaGFibGUpOworICAgICAgICAgICAgICAgIGJsb2Nr
LT5yZXNpemUobm9kZUFuZEluZGV4LmluZGV4ICsgMSk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKHZhbGlkYXRpb25FbmFi
bGVkKCkpIHsKKyAgICAgICAgLy8gRW5zdXJlIG91ciBib29ra2VlcGluZyBmb3IgRm9yY2VPU1JF
eGl0IG5vZGVzIGlzIHdvcmtpbmcuCisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBt
X2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSog
bm9kZSA6ICpibG9jaykKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChub2RlLT5vcCgp
ICE9IEZvcmNlT1NSRXhpdCk7CisgICAgICAgIH0KKyAgICB9CisgICAgCiAgICAgbV9ncmFwaC5k
ZXRlcm1pbmVSZWFjaGFiaWxpdHkoKTsKICAgICBtX2dyYXBoLmtpbGxVbnJlYWNoYWJsZUJsb2Nr
cygpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>