<?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>118957</bug_id>
          
          <creation_ts>2013-07-21 15:38:54 -0700</creation_ts>
          <short_desc>fourthTier: It should be easy to figure out which blocks nodes belong to</short_desc>
          <delta_ts>2013-07-21 20:57:03 -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>
          
          <blocked>118749</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>910552</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 15:38:54 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910554</commentid>
    <comment_count>1</comment_count>
      <attachid>207217</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 16:10:37 -0700</bug_when>
    <thetext>Created attachment 207217
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910571</commentid>
    <comment_count>2</comment_count>
      <attachid>207217</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-07-21 18:17:11 -0700</bug_when>
    <thetext>Comment on attachment 207217
the patch

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

&gt; Source/JavaScriptCore/dfg/DFGNode.h:1404
&gt;      union {
&gt;          Node* replacement;
&gt; +        BasicBlock* owner;
&gt;      } misc;

Can you add clarification about what ensures that a node only has either a replacement or an owner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910580</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 20:40:54 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 207217 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207217&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGNode.h:1404
&gt; &gt;      union {
&gt; &gt;          Node* replacement;
&gt; &gt; +        BasicBlock* owner;
&gt; &gt;      } misc;
&gt; 
&gt; Can you add clarification about what ensures that a node only has either a replacement or an owner.

It&apos;s not like that.  These fields only become valid if you initialize them.  You have to make up your mind, when you initialize them, whether your phase needs to use replacement, or needs to know the node-to-block mapping.  Most phases need neither of these pieces of information.  Only three phases use replacements, and the only phases that will use owners are LICM and possibly GVN.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910581</commentid>
    <comment_count>4</comment_count>
      <attachid>207222</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 20:43:37 -0700</bug_when>
    <thetext>Created attachment 207222
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910582</commentid>
    <comment_count>5</comment_count>
      <attachid>207217</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-07-21 20:44:27 -0700</bug_when>
    <thetext>Comment on attachment 207217
the patch

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

&gt;&gt;&gt; Source/JavaScriptCore/dfg/DFGNode.h:1404
&gt;&gt;&gt;      } misc;
&gt;&gt; 
&gt;&gt; Can you add clarification about what ensures that a node only has either a replacement or an owner.
&gt; 
&gt; It&apos;s not like that.  These fields only become valid if you initialize them.  You have to make up your mind, when you initialize them, whether your phase needs to use replacement, or needs to know the node-to-block mapping.  Most phases need neither of these pieces of information.  Only three phases use replacements, and the only phases that will use owners are LICM and possibly GVN.

Ok.  You probably want to add some indication of that (or an assertion if possible), as it wasn&apos;t clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910583</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-07-21 20:45:12 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 207217 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207217&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/JavaScriptCore/dfg/DFGNode.h:1404
&gt; &gt;&gt;&gt;      } misc;
&gt; &gt;&gt; 
&gt; &gt;&gt; Can you add clarification about what ensures that a node only has either a replacement or an owner.
&gt; &gt; 
&gt; &gt; It&apos;s not like that.  These fields only become valid if you initialize them.  You have to make up your mind, when you initialize them, whether your phase needs to use replacement, or needs to know the node-to-block mapping.  Most phases need neither of these pieces of information.  Only three phases use replacements, and the only phases that will use owners are LICM and possibly GVN.
&gt; 
&gt; Ok.  You probably want to add some indication of that (or an assertion if possible), as it wasn&apos;t clear.

Moments later, you updated it!  r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910584</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 20:48:40 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 207217 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207217&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/JavaScriptCore/dfg/DFGNode.h:1404
&gt; &gt;&gt;&gt;      } misc;
&gt; &gt;&gt; 
&gt; &gt;&gt; Can you add clarification about what ensures that a node only has either a replacement or an owner.
&gt; &gt; 
&gt; &gt; It&apos;s not like that.  These fields only become valid if you initialize them.  You have to make up your mind, when you initialize them, whether your phase needs to use replacement, or needs to know the node-to-block mapping.  Most phases need neither of these pieces of information.  Only three phases use replacements, and the only phases that will use owners are LICM and possibly GVN.
&gt; 
&gt; Ok.  You probably want to add some indication of that (or an assertion if possible), as it wasn&apos;t clear.

I don&apos;t think an assertion is either possible or profitable - we don&apos;t have any kind of natural way of checking if a pointer points to a Node or a BasicBlock.  Also, each phase first initializes &apos;misc&apos;, and then uses it, often in a very obvious way.  Like, you&apos;ll literally see one loop that initializes them and another loop that uses them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910585</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-07-21 20:57:03 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/152958</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207217</attachid>
            <date>2013-07-21 16:10:37 -0700</date>
            <delta_ts>2013-07-21 20:44:27 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>2459</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUyOTUzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDEzLTA3LTIxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogSXQgc2hvdWxkIGJlIGVhc3kgdG8gZmlndXJlIG91dCB3aGljaCBibG9ja3Mg
bm9kZXMgYmVsb25nIHRvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTg5NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6CisgICAgICAgIChERkcpOgorICAgICAgICAoSlND
OjpERkc6OkdyYXBoOjppbml0aWFsaXplTm9kZU93bmVycyk6CisgICAgICAgICogZGZnL0RGR0dy
YXBoLmg6CisgICAgICAgIChHcmFwaCk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKwogMjAx
My0wNy0yMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIGZvdXJ0
aFRpZXI6IGVhY2ggREZHIG5vZGUgdGhhdCByZWxpZXMgb24gb3RoZXIgbm9kZXMgdG8gZG8gdGhl
aXIgdHlwZSBjaGVja3Mgc2hvdWxkIGJlIGFibGUgdG8gdGVsbCB5b3UgaWYgdGhvc2UgdHlwZSBj
aGVja3MgaGFwcGVuZWQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGgu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3Bw
CShyZXZpc2lvbiAxNTI5NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBo
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ2LDYgKzU0NiwxOSBAQCB2b2lkIEdyYXBoOjpjbGVh
clJlcGxhY2VtZW50cygpCiAgICAgICAgICAgICBibG9jay0+YXQobm9kZUluZGV4KS0+bWlzYy5y
ZXBsYWNlbWVudCA9IDA7CiAgICAgfQogfQorCit2b2lkIEdyYXBoOjppbml0aWFsaXplTm9kZU93
bmVycygpCit7CisgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSBudW1CbG9ja3MoKTsg
YmxvY2tJbmRleC0tOykgeworICAgICAgICBCYXNpY0Jsb2NrKiBibG9jayA9IG1fYmxvY2tzW2Js
b2NrSW5kZXhdLmdldCgpOworICAgICAgICBpZiAoIWJsb2NrKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIGZvciAodW5zaWduZWQgcGhpSW5kZXggPSBibG9jay0+cGhpcy5zaXplKCk7
IHBoaUluZGV4LS07KQorICAgICAgICAgICAgYmxvY2stPnBoaXNbcGhpSW5kZXhdLT5taXNjLm93
bmVyID0gYmxvY2s7CisgICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gYmxvY2stPnNp
emUoKTsgbm9kZUluZGV4LS07KQorICAgICAgICAgICAgYmxvY2stPmF0KG5vZGVJbmRleCktPm1p
c2Mub3duZXIgPSBibG9jazsKKyAgICB9Cit9CiAgICAgCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
REZHCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9uIDE1
Mjk1MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAkod29ya2luZyBj
b3B5KQpAQCAtNjQ3LDYgKzY0Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGludmFsaWRhdGVDRkco
KTsKICAgICAKICAgICB2b2lkIGNsZWFyUmVwbGFjZW1lbnRzKCk7CisgICAgdm9pZCBpbml0aWFs
aXplTm9kZU93bmVycygpOwogICAgIAogICAgIHZvaWQgZ2V0QmxvY2tzSW5EZXB0aEZpcnN0T3Jk
ZXIoVmVjdG9yPEJhc2ljQmxvY2sqPiYgcmVzdWx0KTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZS5oCShyZXZpc2lvbiAxNTI5NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTQwMCw2ICsxNDAwLDcgQEAg
cHVibGljOgogICAgIEFic3RyYWN0VmFsdWUgdmFsdWU7CiAgICAgdW5pb24gewogICAgICAgICBO
b2RlKiByZXBsYWNlbWVudDsKKyAgICAgICAgQmFzaWNCbG9jayogb3duZXI7CiAgICAgfSBtaXNj
OwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207222</attachid>
            <date>2013-07-21 20:43:37 -0700</date>
            <delta_ts>2013-07-21 20:44:41 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>3260</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUyOTUzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDEzLTA3LTIxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogSXQgc2hvdWxkIGJlIGVhc3kgdG8gZmlndXJlIG91dCB3aGljaCBibG9ja3Mg
bm9kZXMgYmVsb25nIHRvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTg5NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6CisgICAgICAgIChERkcpOgorICAgICAgICAoSlND
OjpERkc6OkdyYXBoOjppbml0aWFsaXplTm9kZU93bmVycyk6CisgICAgICAgICogZGZnL0RGR0dy
YXBoLmg6CisgICAgICAgIChHcmFwaCk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKwogMjAx
My0wNy0yMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIGZvdXJ0
aFRpZXI6IGVhY2ggREZHIG5vZGUgdGhhdCByZWxpZXMgb24gb3RoZXIgbm9kZXMgdG8gZG8gdGhl
aXIgdHlwZSBjaGVja3Mgc2hvdWxkIGJlIGFibGUgdG8gdGVsbCB5b3UgaWYgdGhvc2UgdHlwZSBj
aGVja3MgaGFwcGVuZWQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGgu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3Bw
CShyZXZpc2lvbiAxNTI5NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBo
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQ2LDYgKzU0NiwxOSBAQCB2b2lkIEdyYXBoOjpjbGVh
clJlcGxhY2VtZW50cygpCiAgICAgICAgICAgICBibG9jay0+YXQobm9kZUluZGV4KS0+bWlzYy5y
ZXBsYWNlbWVudCA9IDA7CiAgICAgfQogfQorCit2b2lkIEdyYXBoOjppbml0aWFsaXplTm9kZU93
bmVycygpCit7CisgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSBudW1CbG9ja3MoKTsg
YmxvY2tJbmRleC0tOykgeworICAgICAgICBCYXNpY0Jsb2NrKiBibG9jayA9IG1fYmxvY2tzW2Js
b2NrSW5kZXhdLmdldCgpOworICAgICAgICBpZiAoIWJsb2NrKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIGZvciAodW5zaWduZWQgcGhpSW5kZXggPSBibG9jay0+cGhpcy5zaXplKCk7
IHBoaUluZGV4LS07KQorICAgICAgICAgICAgYmxvY2stPnBoaXNbcGhpSW5kZXhdLT5taXNjLm93
bmVyID0gYmxvY2s7CisgICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gYmxvY2stPnNp
emUoKTsgbm9kZUluZGV4LS07KQorICAgICAgICAgICAgYmxvY2stPmF0KG5vZGVJbmRleCktPm1p
c2Mub3duZXIgPSBibG9jazsKKyAgICB9Cit9CiAgICAgCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
REZHCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9uIDE1
Mjk1MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAkod29ya2luZyBj
b3B5KQpAQCAtNjQ3LDYgKzY0Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGludmFsaWRhdGVDRkco
KTsKICAgICAKICAgICB2b2lkIGNsZWFyUmVwbGFjZW1lbnRzKCk7CisgICAgdm9pZCBpbml0aWFs
aXplTm9kZU93bmVycygpOwogICAgIAogICAgIHZvaWQgZ2V0QmxvY2tzSW5EZXB0aEZpcnN0T3Jk
ZXIoVmVjdG9yPEJhc2ljQmxvY2sqPiYgcmVzdWx0KTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZS5oCShyZXZpc2lvbiAxNTI5NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTM5OCw4ICsxMzk4LDIwIEBA
IHByaXZhdGU6CiBwdWJsaWM6CiAgICAgLy8gRmllbGRzIHVzZWQgYnkgdmFyaW91cyBhbmFseXNl
cy4KICAgICBBYnN0cmFjdFZhbHVlIHZhbHVlOworICAgIAorICAgIC8vIE1pc2NlbGxhbmVvdXMg
ZGF0YSB0aGF0IGlzIHVzdWFsbHkgbWVhbmluZ2xlc3MsIGJ1dCBjYW4gaG9sZCBzb21lIGFuYWx5
c2lzIHJlc3VsdHMKKyAgICAvLyBpZiB5b3UgYXNrIHJpZ2h0LiBGb3IgZXhhbXBsZSwgaWYgeW91
IGRvIEdyYXBoOjppbml0aWFsaXplTm9kZU93bmVycygpLCBtaXNjLm93bmVyCisgICAgLy8gd2ls
bCB0ZWxsIHlvdSB3aGljaCBiYXNpYyBibG9jayBhIG5vZGUgYmVsb25ncyB0by4gWW91IGNhbm5v
dCByZWx5IG9uIHRoaXMgcGVyc2lzdGluZworICAgIC8vIGFjcm9zcyB0cmFuc2Zvcm1hdGlvbnMg
dW5sZXNzIHlvdSBkbyB0aGUgbWFpbnRlbmFuY2Ugd29yayB5b3Vyc2VsZi4gT3RoZXIgcGhhc2Vz
IHVzZQorICAgIC8vIG1pc2MucmVwbGFjZW1lbnQsIGJ1dCB0aGV5IGRvIHNvIG1hbnVhbGx5OiBm
aXJzdCB5b3UgZG8gR3JhcGg6OmNsZWFyUmVwbGFjZW1lbnRzKCkKKyAgICAvLyBhbmQgdGhlbiB5
b3Ugc2V0LCBhbmQgdXNlLCByZXBsYWNlbWVudCdzIHlvdXJzZWxmLgorICAgIC8vCisgICAgLy8g
Qm90dG9tIGxpbmU6IGRvbid0IHVzZSB0aGVzZSBmaWVsZHMgdW5sZXNzIHlvdSBpbml0aWFsaXpl
IHRoZW0geW91cnNlbGYsIG9yIGJ5CisgICAgLy8gY2FsbGluZyBzb21lIGFwcHJvcHJpYXRlIG1l
dGhvZHMgdGhhdCBpbml0aWFsaXplIHRoZW0gdGhlIHdheSB5b3Ugd2FudC4gT3RoZXJ3aXNlLAor
ICAgIC8vIHRoZXNlIGZpZWxkcyBhcmUgbWVhbmluZ2xlc3MuCiAgICAgdW5pb24gewogICAgICAg
ICBOb2RlKiByZXBsYWNlbWVudDsKKyAgICAgICAgQmFzaWNCbG9jayogb3duZXI7CiAgICAgfSBt
aXNjOwogfTsKIAo=
</data>
<flag name="review"
          id="228988"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>