<?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>87682</bug_id>
          
          <creation_ts>2012-05-28 16:56:38 -0700</creation_ts>
          <short_desc>DFG should not generate code for code that the CFA proves to be unreachable</short_desc>
          <delta_ts>2012-05-28 19:43:56 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>635458</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-28 16:56:38 -0700</bug_when>
    <thetext>When the CFA proves code to be unreachable, we are stuck in a bit of a conundrum.  The code must still be known to other parts of the compiler because of OSR exit liveness issues, so it cannot be simply jettisoned.  But we shouldn&apos;t be spending time generating that code, and we shouldn&apos;t be allowing OSR entry into that code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635463</commentid>
    <comment_count>1</comment_count>
      <attachid>144410</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-28 17:01:02 -0700</bug_when>
    <thetext>Created attachment 144410
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635511</commentid>
    <comment_count>2</comment_count>
      <attachid>144425</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-28 19:09:56 -0700</bug_when>
    <thetext>Created attachment 144425
the patch

Cleaned up constant folding a bit more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635518</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-05-28 19:43:56 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/118715</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144410</attachid>
            <date>2012-05-28 17:01:02 -0700</date>
            <delta_ts>2012-05-28 19:09:56 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixcfaunreach_patch_1.diff</filename>
            <type>text/plain</type>
            <size>4500</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4NzEwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDEyLTA1LTI4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIHNob3VsZCBub3QgZ2VuZXJhdGUgY29kZSBmb3IgY29kZSB0aGF0IHRoZSBDRkEgcHJvdmVz
IHRvIGJlIHVucmVhY2hhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzY4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgVGhpcyBhbHNvIGZpeGVzIGEgc21hbGwgcGVyZm9ybWFuY2UgYnVn
IHdoZXJlIENGQSB3YXMgbm90IG1hcmtpbmcgYmxvY2tzCisgICAgICAgIGFzIGhhdmluZyBjb25z
dGFudHMgKGFuZCBoZW5jZSBub3QgdHJpZ2dlcmluZyBjb25zdGFudCBmb2xkaW5nKSBpZiB0aGUg
b25seQorICAgICAgICBjb25zdGFudHMgd2VyZSBvbiBHZXRMb2NhbHMuCisKKyAgICAgICAgKiBk
ZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RTdGF0
ZTo6ZXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpDb25zdGFudEZvbGRpbmdQaGFzZTo6cnVuKToKKyAgICAgICAg
KiBkZmcvREZHSklUQ29tcGlsZXIuaDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6
bm90aWNlT1NSRW50cnkpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDEyLTA1LTI4
ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLiBGaXggbWFrZSBkaXN0Y2hlY2suCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0U3RhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHAJKHJldmlzaW9uIDExODY0NSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3OSw2ICsyNzksOCBAQCBib29sIEFic3RyYWN0U3RhdGU6OmV4ZWN1dGUodW5zaWdu
ZWQgaW5kCiAgICAgICAgICAgICBBYnN0cmFjdFZhbHVlIHZhbHVlID0gbV92YXJpYWJsZXMub3Bl
cmFuZCh2YXJpYWJsZUFjY2Vzc0RhdGEtPmxvY2FsKCkpOwogICAgICAgICAgICAgaWYgKHZhbHVl
LmlzQ2xlYXIoKSkKICAgICAgICAgICAgICAgICBjYW5FeGl0IHw9IHRydWU7CisgICAgICAgICAg
ICBpZiAodmFsdWUudmFsdWUoKSkKKyAgICAgICAgICAgICAgICBtX2ZvdW5kQ29uc3RhbnRzID0g
dHJ1ZTsKICAgICAgICAgICAgIGZvck5vZGUobm9kZUluZGV4KSA9IHZhbHVlOwogICAgICAgICB9
CiAgICAgICAgIG5vZGUuc2V0Q2FuRXhpdChjYW5FeGl0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCShyZXZp
c2lvbiAxMTg2NDUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9s
ZGluZ1BoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsOSArNzcsMTAgQEAgcHVibGljOgog
ICAgICAgICAgICAgICAgICAgICBBU1NFUlQobV9ncmFwaFtub2RlLmNoaWxkMSgpXS5vcCgpID09
IFBoaSk7CiAgICAgICAgICAgICAgICAgICAgIEFTU0VSVCghbV9ncmFwaFtub2RlLmNoaWxkMSgp
XS5oYXNSZXN1bHQoKSk7CiAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAg
ICBBU1NFUlQoYmxvY2stPnZhcmlhYmxlc0F0SGVhZC5vcGVyYW5kKG5vZGUubG9jYWwoKSkgPT0g
bm9kZUluZGV4KTsKLSAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGJsb2NrLT5pc0luUGhpcyhu
b2RlLmNoaWxkMSgpLmluZGV4KCkpKTsKLSAgICAgICAgICAgICAgICAgICAgYmxvY2stPnZhcmlh
Ymxlc0F0SGVhZC5vcGVyYW5kKG5vZGUubG9jYWwoKSkgPSBub2RlLmNoaWxkMSgpLmluZGV4KCk7
CisgICAgICAgICAgICAgICAgICAgIGlmIChibG9jay0+dmFyaWFibGVzQXRIZWFkLm9wZXJhbmQo
bm9kZS5sb2NhbCgpKSA9PSBub2RlSW5kZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChibG9jay0+aXNJblBoaXMobm9kZS5jaGlsZDEoKS5pbmRleCgpKSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBibG9jay0+dmFyaWFibGVzQXRIZWFkLm9wZXJhbmQobm9kZS5sb2NhbCgp
KSA9IG5vZGUuY2hpbGQxKCkuaW5kZXgoKTsKKyAgICAgICAgICAgICAgICAgICAgfSAvLyBFbHNl
IHdlIGhhZCBhIEZsdXNoIHByaW9yIHRvIHRoZSBHZXRMb2NhbC4KICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgIE5vZGVJbmRleCB0YWlsTm9kZUluZGV4ID0gYmxvY2st
PnZhcmlhYmxlc0F0VGFpbC5vcGVyYW5kKG5vZGUubG9jYWwoKSk7CiAgICAgICAgICAgICAgICAg
ICAgIGlmICh0YWlsTm9kZUluZGV4ID09IG5vZGVJbmRleCkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmgJKHJldmlzaW9uIDExODY0NSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MzA0LDYgKzMwNCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBub3RpY2VPU1JFbnRyeShCYXNpY0Js
b2NrJiBiYXNpY0Jsb2NrLCBKSVRDb21waWxlcjo6TGFiZWwgYmxvY2tIZWFkLCBMaW5rQnVmZmVy
JiBsaW5rQnVmZmVyKQogICAgIHsKICNpZiBERkdfRU5BQkxFKE9TUl9FTlRSWSkKKyAgICAgICAg
Ly8gT1NSIGVudHJ5IGlzIG5vdCBhbGxvd2VkIGludG8gYmxvY2tzIGRlZW1lZCB1bnJlYWNoYWJs
ZSBieSBjb250cm9sIGZsb3cgYW5hbHlzaXMuCisgICAgICAgIGlmICghYmFzaWNCbG9jay5jZmFI
YXNWaXNpdGVkKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAKICAgICAgICAgT1NSRW50
cnlEYXRhKiBlbnRyeSA9IGNvZGVCbG9jaygpLT5hcHBlbmRERkdPU1JFbnRyeURhdGEoYmFzaWNC
bG9jay5ieXRlY29kZUJlZ2luLCBsaW5rQnVmZmVyLm9mZnNldE9mKGJsb2NrSGVhZCkpOwogICAg
ICAgICAKICAgICAgICAgZW50cnktPm1fZXhwZWN0ZWRWYWx1ZXMgPSBiYXNpY0Jsb2NrLnZhbHVl
c0F0SGVhZDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCShyZXZpc2lvbiAxMTg2NDUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTY3LDYgKzk2Nywx
NiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKEJhc2ljQmxvY2smCiAgICAgCiAgICAg
aWYgKCFibG9jay5pc1JlYWNoYWJsZSkKICAgICAgICAgcmV0dXJuOworICAgIAorICAgIGlmICgh
YmxvY2suY2ZhSGFzVmlzaXRlZCkgeworICAgICAgICAvLyBEb24ndCBnZW5lcmF0ZSBjb2RlIGZv
ciBiYXNpYyBibG9ja3MgdGhhdCBhcmUgdW5yZWFjaGFibGUgYWNjb3JkaW5nIHRvIENGQS4KKyAg
ICAgICAgLy8gQnV0IHRvIGJlIHN1cmUgdGhhdCBub2JvZHkgaGFzIGdlbmVyYXRlZCBhIGp1bXAg
dG8gdGhpcyBibG9jaywgZHJvcCBpbiBhCisgICAgICAgIC8vIGJyZWFrcG9pbnQgaGVyZS4KKyNp
ZiAhQVNTRVJUX0RJU0FCTEVECisgICAgICAgIG1faml0LmJyZWFrcG9pbnQoKTsKKyNlbmRpZgor
ICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgbV9ibG9ja0hlYWRzW21fYmxvY2tdID0gbV9q
aXQubGFiZWwoKTsKICNpZiBERkdfRU5BQkxFKEpJVF9CUkVBS19PTl9FVkVSWV9CTE9DSykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144425</attachid>
            <date>2012-05-28 19:09:56 -0700</date>
            <delta_ts>2012-05-28 19:32:08 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixcfaunreach_patch_2.diff</filename>
            <type>text/plain</type>
            <size>7082</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE4NzEwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDEyLTA1LTI4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIHNob3VsZCBub3QgZ2VuZXJhdGUgY29kZSBmb3IgY29kZSB0aGF0IHRoZSBDRkEgcHJvdmVz
IHRvIGJlIHVucmVhY2hhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzY4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgVGhpcyBhbHNvIGZpeGVzIGEgc21hbGwgcGVyZm9ybWFuY2UgYnVn
IHdoZXJlIENGQSB3YXMgbm90IG1hcmtpbmcgYmxvY2tzCisgICAgICAgIGFzIGhhdmluZyBjb25z
dGFudHMgKGFuZCBoZW5jZSBub3QgdHJpZ2dlcmluZyBjb25zdGFudCBmb2xkaW5nKSBpZiB0aGUg
b25seQorICAgICAgICBjb25zdGFudHMgd2VyZSBvbiBHZXRMb2NhbHMuCisgICAgICAgIAorICAg
ICAgICBBbmQgZml4aW5nIHRoYXQgYnVnIHJldmVhbGVkIGFub3RoZXIgYnVnOiBjb25zdGFudCBm
b2xkaW5nIHdhcyBhc3N1bWluZyB0aGF0CisgICAgICAgIGEgR2V0TG9jYWwgbXVzdCBiZSB0aGUg
Zmlyc3QgYWNjZXNzIHRvIGEgbG9jYWwgaW4gYSBiYXNpYyBibG9jay4gVGhpcyBpc24ndAorICAg
ICAgICB0cnVlLiBUaGUgZmlyc3QgYWNjZXNzIG1heSBiZSBhIEZsdXNoLiBUaGlzIHBhdGNoIGZp
eGVzIHRoYXQgaXNzdWUgdXNpbmcgdGhlCisgICAgICAgIHNhZmVzdCBhcHByb2FjaCBwb3NzaWJs
ZSwgc2luY2Ugd2UgZG9uJ3QgbmVlZCB0byBiZSBjbGV2ZXIgZm9yIHNvbWV0aGluZyB0aGF0Cisg
ICAgICAgIG9ubHkgaGFwcGVucyBpbiBvbmUgb2Ygb3VyIGJlbmNobWFya3MuCisKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RT
dGF0ZTo6ZXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpDb25zdGFudEZvbGRpbmdQaGFzZTo6cnVuKToKKyAgICAg
ICAgKiBkZmcvREZHSklUQ29tcGlsZXIuaDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxl
cjo6bm90aWNlT1NSRW50cnkpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDEyLTA1
LTI4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLiBGaXggbWFrZSBkaXN0Y2hlY2suCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0U3RhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHAJKHJldmlzaW9uIDExODY0NSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RTdGF0ZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3OSw2ICsyNzksOCBAQCBib29sIEFic3RyYWN0U3RhdGU6OmV4ZWN1dGUodW5z
aWduZWQgaW5kCiAgICAgICAgICAgICBBYnN0cmFjdFZhbHVlIHZhbHVlID0gbV92YXJpYWJsZXMu
b3BlcmFuZCh2YXJpYWJsZUFjY2Vzc0RhdGEtPmxvY2FsKCkpOwogICAgICAgICAgICAgaWYgKHZh
bHVlLmlzQ2xlYXIoKSkKICAgICAgICAgICAgICAgICBjYW5FeGl0IHw9IHRydWU7CisgICAgICAg
ICAgICBpZiAodmFsdWUudmFsdWUoKSkKKyAgICAgICAgICAgICAgICBtX2ZvdW5kQ29uc3RhbnRz
ID0gdHJ1ZTsKICAgICAgICAgICAgIGZvck5vZGUobm9kZUluZGV4KSA9IHZhbHVlOwogICAgICAg
ICB9CiAgICAgICAgIG5vZGUuc2V0Q2FuRXhpdChjYW5FeGl0KTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCShy
ZXZpc2lvbiAxMTg2NDUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50
Rm9sZGluZ1BoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsMTMgKzc3LDQyIEBAIHB1Ymxp
YzoKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKG1fZ3JhcGhbbm9kZS5jaGlsZDEoKV0ub3Ao
KSA9PSBQaGkpOwogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoIW1fZ3JhcGhbbm9kZS5jaGls
ZDEoKV0uaGFzUmVzdWx0KCkpOwogICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKGJsb2NrLT52YXJpYWJsZXNBdEhlYWQub3BlcmFuZChub2RlLmxvY2FsKCkp
ID09IG5vZGVJbmRleCk7Ci0gICAgICAgICAgICAgICAgICAgIEFTU0VSVChibG9jay0+aXNJblBo
aXMobm9kZS5jaGlsZDEoKS5pbmRleCgpKSk7Ci0gICAgICAgICAgICAgICAgICAgIGJsb2NrLT52
YXJpYWJsZXNBdEhlYWQub3BlcmFuZChub2RlLmxvY2FsKCkpID0gbm9kZS5jaGlsZDEoKS5pbmRl
eCgpOworICAgICAgICAgICAgICAgICAgICBOb2RlSW5kZXggcHJldmlvdXNMb2NhbEFjY2VzcyA9
IE5vTm9kZTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2NrLT52YXJpYWJsZXNBdEhlYWQu
b3BlcmFuZChub2RlLmxvY2FsKCkpID09IG5vZGVJbmRleCkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gV2UgZXhwZWN0IHRoaXMgdG8gYmUgdGhlIGNvbW1vbiBjYXNlLgorICAgICAgICAg
ICAgICAgICAgICAgICAgQVNTRVJUKGJsb2NrLT5pc0luUGhpcyhub2RlLmNoaWxkMSgpLmluZGV4
KCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzTG9jYWxBY2Nlc3MgPSBub2Rl
LmNoaWxkMSgpLmluZGV4KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBibG9jay0+dmFyaWFi
bGVzQXRIZWFkLm9wZXJhbmQobm9kZS5sb2NhbCgpKSA9IHByZXZpb3VzTG9jYWxBY2Nlc3M7Cisg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NF
UlQoaW5kZXhJbkJsb2NrID4gMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBNdXN0IHNl
YXJjaCBmb3IgdGhlIHByZXZpb3VzIGFjY2VzcyB0byB0aGlzIGxvY2FsLgorICAgICAgICAgICAg
ICAgICAgICAgICAgZm9yIChCbG9ja0luZGV4IHN1YkluZGV4SW5CbG9jayA9IGluZGV4SW5CbG9j
ayAtIDE7IHN1YkluZGV4SW5CbG9jay0tOykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5vZGVJbmRleCBzdWJOb2RlSW5kZXggPSBibG9jay0+YXQoc3ViSW5kZXhJbkJsb2NrKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOb2RlJiBzdWJOb2RlID0gbV9ncmFwaFtzdWJOb2Rl
SW5kZXhdOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3ViTm9kZS5zaG91bGRH
ZW5lcmF0ZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Yk5vZGUuaGFzVmFyaWFibGVBY2Nlc3NE
YXRhKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJOb2RlLmxvY2FsKCkgIT0gbm9kZS5sb2NhbCgp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBUaGUgdHdvIG11c3QgaGF2ZSBiZWVuIHVuaWZpZWQuCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHN1Yk5vZGUudmFyaWFibGVBY2Nlc3NEYXRh
KCkgPT0gbm9kZS52YXJpYWJsZUFjY2Vzc0RhdGEoKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gQ3VycmVudGx5LCB0aGUgcHJldmlvdXMgbm9kZSBtdXN0IGJlIGEgZmx1c2guCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTk9URTogVGhpcyBhc3NlcnRpb24gc2hvdWxk
IGJlIHJlbW92ZWQgaWYgd2UgZXZlciBkbworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IGNvbnN0YW50IGZvbGRpbmcgb24gY2FwdHVyZWQgdmFyaWFibGVzLiBJbiBwYXJ0aWN1bGFyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgY29kZSBkb2VzIG5vdCByZXF1aXJl
IHRoZSBwcmV2aW91cyBub2RlIHRvIGJlIGEgZmx1c2gsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gYnV0IHdlIGFyZSBhc3NlcnRpbmcgdGhpcyBhbnl3YXkgYmVjYXVzZSBpdCBpcyBh
IGNvbnN0cmFpbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvZiB0aGUgSVIgYW5k
IHRoaXMgaXMgYXMgZ29vZCBhIHBsYWNlIGFzIGFueSB0byBhc3NlcnQgaXQuCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQVNTRVJUKHN1Yk5vZGUub3AoKSA9PSBGbHVzaCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNMb2NhbEFjY2VzcyA9IHN1Yk5vZGVJbmRleDsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChwcmV2aW91c0xvY2FsQWNjZXNz
ICE9IE5vTm9kZSk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgIE5vZGVJbmRleCB0YWlsTm9kZUluZGV4ID0gYmxvY2stPnZh
cmlhYmxlc0F0VGFpbC5vcGVyYW5kKG5vZGUubG9jYWwoKSk7CiAgICAgICAgICAgICAgICAgICAg
IGlmICh0YWlsTm9kZUluZGV4ID09IG5vZGVJbmRleCkKLSAgICAgICAgICAgICAgICAgICAgICAg
IGJsb2NrLT52YXJpYWJsZXNBdFRhaWwub3BlcmFuZChub2RlLmxvY2FsKCkpID0gbm9kZS5jaGls
ZDEoKS5pbmRleCgpOworICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2stPnZhcmlhYmxlc0F0
VGFpbC5vcGVyYW5kKG5vZGUubG9jYWwoKSkgPSBwcmV2aW91c0xvY2FsQWNjZXNzOwogICAgICAg
ICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChtX2dy
YXBoW3RhaWxOb2RlSW5kZXhdLm9wKCkgPT0gRmx1c2gKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8fCBtX2dyYXBoW3RhaWxOb2RlSW5kZXhdLm9wKCkgPT0gU2V0TG9jYWwpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaAkocmV2aXNpb24g
MTE4NjQ1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMDQsNiArMzA0LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIG5vdGlj
ZU9TUkVudHJ5KEJhc2ljQmxvY2smIGJhc2ljQmxvY2ssIEpJVENvbXBpbGVyOjpMYWJlbCBibG9j
a0hlYWQsIExpbmtCdWZmZXImIGxpbmtCdWZmZXIpCiAgICAgewogI2lmIERGR19FTkFCTEUoT1NS
X0VOVFJZKQorICAgICAgICAvLyBPU1IgZW50cnkgaXMgbm90IGFsbG93ZWQgaW50byBibG9ja3Mg
ZGVlbWVkIHVucmVhY2hhYmxlIGJ5IGNvbnRyb2wgZmxvdyBhbmFseXNpcy4KKyAgICAgICAgaWYg
KCFiYXNpY0Jsb2NrLmNmYUhhc1Zpc2l0ZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IAogICAgICAgICBPU1JFbnRyeURhdGEqIGVudHJ5ID0gY29kZUJsb2NrKCktPmFwcGVuZERGR09T
UkVudHJ5RGF0YShiYXNpY0Jsb2NrLmJ5dGVjb2RlQmVnaW4sIGxpbmtCdWZmZXIub2Zmc2V0T2Yo
YmxvY2tIZWFkKSk7CiAgICAgICAgIAogICAgICAgICBlbnRyeS0+bV9leHBlY3RlZFZhbHVlcyA9
IGJhc2ljQmxvY2sudmFsdWVzQXRIZWFkOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDExODY0NSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05NjcsNiArOTY3LDE2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoQmFzaWNC
bG9jayYKICAgICAKICAgICBpZiAoIWJsb2NrLmlzUmVhY2hhYmxlKQogICAgICAgICByZXR1cm47
CisgICAgCisgICAgaWYgKCFibG9jay5jZmFIYXNWaXNpdGVkKSB7CisgICAgICAgIC8vIERvbid0
IGdlbmVyYXRlIGNvZGUgZm9yIGJhc2ljIGJsb2NrcyB0aGF0IGFyZSB1bnJlYWNoYWJsZSBhY2Nv
cmRpbmcgdG8gQ0ZBLgorICAgICAgICAvLyBCdXQgdG8gYmUgc3VyZSB0aGF0IG5vYm9keSBoYXMg
Z2VuZXJhdGVkIGEganVtcCB0byB0aGlzIGJsb2NrLCBkcm9wIGluIGEKKyAgICAgICAgLy8gYnJl
YWtwb2ludCBoZXJlLgorI2lmICFBU1NFUlRfRElTQUJMRUQKKyAgICAgICAgbV9qaXQuYnJlYWtw
b2ludCgpOworI2VuZGlmCisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBtX2Jsb2NrSGVh
ZHNbbV9ibG9ja10gPSBtX2ppdC5sYWJlbCgpOwogI2lmIERGR19FTkFCTEUoSklUX0JSRUFLX09O
X0VWRVJZX0JMT0NLKQo=
</data>
<flag name="review"
          id="151264"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>