<?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>70668</bug_id>
          
          <creation_ts>2011-10-21 20:25:51 -0700</creation_ts>
          <short_desc>DFG inlining sometimes fails to reset constant references</short_desc>
          <delta_ts>2011-10-21 20:58:10 -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>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>488838</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-21 20:25:51 -0700</bug_when>
    <thetext>And it sometimes resets them even though it doesn&apos;t have to.  The logic of resetting constant references should be moved out of parseBlock(), into a separate method, and should be called when a new block is created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488839</commentid>
    <comment_count>1</comment_count>
      <attachid>112064</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-21 20:48:08 -0700</bug_when>
    <thetext>Created attachment 112064
the patch

This is generally neutral although it does have some interesting fluctuations that may be worth investigating in the future.


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
&quot;TipOfTree&quot; at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
&quot;ConstReset&quot; at /Volumes/Data/pizlo/septenary/OpenSource/WebKitBuild/Release/jsc

Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. Emitted a call to gc() between sample
measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime()
function to get microsecond-level timing. Reporting benchmark execution times with 95% confidence intervals in
milliseconds.

                                            TipOfTree               ConstReset                                   
SunSpider:
   3d-cube                                7.3697+-0.1885          7.3289+-0.1415       
   3d-morph                               7.7265+-0.1192    ?     7.7378+-0.1193       ?
   3d-raytrace                            7.6756+-0.1582          7.5050+-0.1473         might be 1.0227x faster
   access-binary-trees                    1.7548+-0.0548    ?     1.7575+-0.0609       ?
   access-fannkuch                        6.5196+-0.1179          6.5059+-0.1434       
   access-nbody                           3.5707+-0.0558    ?     3.6066+-0.0595       ? might be 1.0101x slower
   access-nsieve                          2.5743+-0.0709    ?     2.6457+-0.0577       ? might be 1.0277x slower
   bitops-3bit-bits-in-byte               1.3013+-0.0298    ?     1.3021+-0.0274       ?
   bitops-bits-in-byte                    2.4103+-0.0260          2.3469+-0.0654         might be 1.0270x faster
   bitops-bitwise-and                     3.4038+-0.1058    ?     3.4435+-0.0980       ? might be 1.0117x slower
   bitops-nsieve-bits                     5.3452+-0.1058    ?     5.4549+-0.1053       ? might be 1.0205x slower
   controlflow-recursive                  2.1495+-0.0436          2.1068+-0.0419         might be 1.0203x faster
   crypto-aes                             7.4158+-0.1735          7.4076+-0.1559       
   crypto-md5                             2.7533+-0.0667    ?     2.8819+-0.2392       ? might be 1.0467x slower
   crypto-sha1                            2.4421+-0.0576    ?     2.4994+-0.0617       ? might be 1.0234x slower
   date-format-tofte                     10.0696+-0.2276    ?    10.1237+-0.1775       ?
   date-format-xparb                      9.4134+-0.2859    ?     9.5952+-0.2443       ? might be 1.0193x slower
   math-cordic                            7.5517+-1.1382          6.5432+-0.1072         might be 1.1541x faster
   math-partial-sums                      7.6746+-0.1174    ?     7.7438+-0.1316       ?
   math-spectral-norm                     2.5707+-0.0578    ?     2.6218+-0.0599       ? might be 1.0199x slower
   regexp-dna                            11.4736+-0.1521    ?    11.7047+-0.1798       ? might be 1.0201x slower
   string-base64                          4.4023+-0.1100    ?     4.4344+-0.1046       ?
   string-fasta                           6.3179+-0.1273    ?     6.4466+-0.0765       ? might be 1.0204x slower
   string-tagcloud                       11.7143+-0.2527         11.5438+-0.2062         might be 1.0148x faster
   string-unpack-code                    20.5107+-0.3544         20.3937+-0.2201       
   string-validate-input                  5.2263+-0.0780    ?     5.2982+-0.1235       ? might be 1.0137x slower

   &lt;arithmetic&gt; *                         6.2053+-0.0459          6.1915+-0.0270       
   &lt;geometric&gt;                            5.0059+-0.0332    ?     5.0118+-0.0273       ?
   &lt;harmonic&gt;                             4.0049+-0.0254    ?     4.0191+-0.0299       ?

                                            TipOfTree               ConstReset                                   
V8:
   crypto                                74.8418+-0.4605         74.7426+-0.3154       
   deltablue                            176.9986+-1.5209    !   182.5245+-2.7802       ! definitely 1.0312x slower
   earley-boyer                          94.6350+-1.8084         94.4009+-1.6468       
   raytrace                              61.7280+-0.5734    ^    60.5946+-0.5558       ^ definitely 1.0187x faster
   regexp                               106.1436+-0.4098    ^   105.2642+-0.2244       ^ definitely 1.0084x faster
   richards                             145.7465+-3.0841        142.3034+-0.5496         might be 1.0242x faster
   splay                                 95.0169+-0.5543    ^    94.0349+-0.3270       ^ definitely 1.0104x faster

   &lt;arithmetic&gt;                         107.8729+-0.4137        107.6950+-0.5193       
   &lt;geometric&gt; *                        101.8415+-0.3820        101.3519+-0.4472       
   &lt;harmonic&gt;                            96.4127+-0.3657         95.7241+-0.4252       

                                            TipOfTree               ConstReset                                   
Kraken:
   ai-astar                             501.7759+-2.3059    ?   505.1881+-3.9941       ?
   audio-beat-detection                 197.0312+-2.5677        196.1807+-1.7175       
   audio-dft                            271.7374+-3.5796    ?   272.6768+-2.4040       ?
   audio-fft                            125.6273+-0.5593    ?   125.8057+-0.5705       ?
   audio-oscillator                     283.1211+-31.4860       253.8578+-1.2954         might be 1.1153x faster
   imaging-darkroom                     404.2532+-1.7140    ?   406.2973+-3.6529       ?
   imaging-desaturate                   222.0366+-0.6368    ?   222.2356+-0.7487       ?
   imaging-gaussian-blur                563.3645+-1.8204    ?   564.6778+-1.8245       ?
   json-parse-financial                  58.3606+-0.3201    ?    58.7054+-0.5319       ?
   json-stringify-tinderbox              68.9683+-0.4043    !    70.1906+-0.4180       ! definitely 1.0177x slower
   stanford-crypto-aes                  133.2210+-1.7591    ?   133.7263+-4.4229       ?
   stanford-crypto-ccm                  103.4855+-0.8125        103.2851+-1.0559       
   stanford-crypto-pbkdf2               196.1213+-2.8207    ?   198.2128+-2.4398       ? might be 1.0107x slower
   stanford-crypto-sha256-iterative      71.9108+-0.4195    ?    72.0350+-0.4113       ?

   &lt;arithmetic&gt; *                       228.6439+-2.3124        227.3625+-0.7480       
   &lt;geometric&gt;                          179.9488+-1.3376        179.3734+-0.7063       
   &lt;harmonic&gt;                           141.5599+-0.5082    ?   141.7610+-0.5971       ?

                                            TipOfTree               ConstReset                                   
All benchmarks:
   &lt;arithmetic&gt;                          87.6056+-0.6634         87.1898+-0.2779       
   &lt;geometric&gt;                           22.7894+-0.0946         22.7666+-0.0863       
   &lt;harmonic&gt;                             7.0532+-0.0438    ?     7.0772+-0.0515       ?

                                            TipOfTree               ConstReset                                   
Geomean of preferred means:
   &lt;scaled-result&gt;                       52.4719+-0.1849         52.2530+-0.1425</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488847</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-21 20:58:10 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/98188</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112064</attachid>
            <date>2011-10-21 20:48:08 -0700</date>
            <delta_ts>2011-10-21 20:49:58 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixinlconst_patch_1.diff</filename>
            <type>text/plain</type>
            <size>6358</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTgxODYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMTAtMjEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgaW5saW5pbmcgc29tZXRpbWVzIGZhaWxzIHRvIHJlc2V0IGNvbnN0YW50IHJlZmVyZW5jZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjY4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBS
ZXNldCBjb25zdGFudCByZWZlcmVuY2VzIHdoZW4gd2UgbmVlZCB0byAobmV3IGJsb2NrIGNyZWF0
ZWQpIGFuZCBub3QKKyAgICAgICAgd2hlbiB3ZSBkb24ndCAoY2hhbmdlIG9mIGlubGluaW5nIGRl
cHRoKS4KKworICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUlubGluaW5nKToKKyAgICAgICAgKEpTQzo6
REZHOjpCeXRlQ29kZVBhcnNlcjo6cHJlcGFyZVRvUGFyc2VCbG9jayk6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUNvZGVCbG9jayk6CisKIDIwMTEtMTAtMjEgIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgc2hvdWxkIGhhdmUgaW5saW5pbmcK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCShyZXZpc2lvbiA5ODE4NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4Miw4IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBoYW5kbGVJbmxpbmluZyhib29sIHVzZXNSZXN1bHQsIGludCBjYWxsVGFyZ2V0
LCBOb2RlSW5kZXggY2FsbFRhcmdldE5vZGVJbmRleCwgaW50IHJlc3VsdE9wZXJhbmQsIGJvb2wg
Y2VydGFpbkFib3V0RXhwZWN0ZWRGdW5jdGlvbiwgSlNGdW5jdGlvbiosIGludCBmaXJzdEFyZywg
aW50IGxhc3RBcmcsIHVuc2lnbmVkIG5leHRPZmZzZXQpOwogICAgIC8vIEhhbmRsZSBpbnRyaW5z
aWMgZnVuY3Rpb25zLiBSZXR1cm4gdHJ1ZSBpZiBpdCBzdWNjZWVkZWQsIGZhbHNlIGlmIHdlIG5l
ZWQgdG8gcGxhbnQgYSBjYWxsLgogICAgIGJvb2wgaGFuZGxlSW50cmluc2ljKGJvb2wgdXNlc1Jl
c3VsdCwgaW50IHJlc3VsdE9wZXJhbmQsIEludHJpbnNpYywgaW50IGZpcnN0QXJnLCBpbnQgbGFz
dEFyZywgUHJlZGljdGVkVHlwZSBwcmVkaWN0aW9uKTsKKyAgICAvLyBQcmVwYXJlIHRvIHBhcnNl
IGEgYmxvY2suCisgICAgdm9pZCBwcmVwYXJlVG9QYXJzZUJsb2NrKCk7CiAgICAgLy8gUGFyc2Ug
YSBzaW5nbGUgYmFzaWMgYmxvY2sgb2YgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb25zLgogICAgIGJvb2wg
cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCk7CiAgICAgLy8gRmluZCByZWFjaGFibGUgY29kZSBh
bmQgc2V0dXAgcHJlZGVjZXNzb3IgbGlua3MgaW4gdGhlIGdyYXBoJ3MgQmFzaWNCbG9ja3MuCkBA
IC0xMDI3LDYgKzEwMjksNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbmxpbmluZyhi
b29sCiAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9jYWxsZXItPm1fdW5saW5rZWRCbG9ja3MuYXBw
ZW5kKFVubGlua2VkQmxvY2sobV9ncmFwaC5tX2Jsb2Nrcy5zaXplKCkpKTsKICAgICBtX2lubGlu
ZVN0YWNrVG9wLT5tX2NhbGxlci0+bV9ibG9ja0xpbmtpbmdUYXJnZXRzLmFwcGVuZChtX2dyYXBo
Lm1fYmxvY2tzLnNpemUoKSk7CiAgICAgbV9ncmFwaC5tX2Jsb2Nrcy5hcHBlbmQoYmxvY2sucmVs
ZWFzZSgpKTsKKyAgICBwcmVwYXJlVG9QYXJzZUJsb2NrKCk7CiAgICAgCiAgICAgLy8gQXQgdGhp
cyBwb2ludCB3ZSByZXR1cm4gYW5kIGNvbnRpbnVlIHRvIGdlbmVyYXRlIGNvZGUgZm9yIHRoZSBj
YWxsZXIsIGJ1dAogICAgIC8vIGluIHRoZSBuZXcgYmFzaWMgYmxvY2suCkBAIC0xMTIyLDE0ICsx
MTI1LDE0IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpYyhib28KICAgICB9
CiB9CiAKK3ZvaWQgQnl0ZUNvZGVQYXJzZXI6OnByZXBhcmVUb1BhcnNlQmxvY2soKQoreworICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NvbnN0YW50cy5zaXplKCk7ICsraSkKKyAgICAg
ICAgbV9jb25zdGFudHNbaV0gPSBDb25zdGFudFJlY29yZCgpOworfQorCiBib29sIEJ5dGVDb2Rl
UGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogewotICAgIC8vIE5vIG5lZWQgdG8g
cmVzZXQgc3RhdGUgaW5pdGlhbGx5LCBzaW5jZSBpdCBoYXMgYmVlbiBzZXQgYnkgdGhlIGNvbnN0
cnVjdG9yLgotICAgIGlmIChtX2N1cnJlbnRJbmRleCkgewotICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9jb25zdGFudHMuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBtX2NvbnN0
YW50c1tpXSA9IENvbnN0YW50UmVjb3JkKCk7Ci0gICAgfQotICAgIAogICAgIC8vIElmIHdlIGFy
ZSB0aGUgZmlyc3QgYmFzaWMgYmxvY2ssIGludHJvZHVjZSBtYXJrZXJzIGZvciBhcmd1bWVudHMu
IFRoaXMgYWxsb3dzCiAgICAgLy8gdXMgdG8gdHJhY2sgaWYgYSB1c2Ugb2YgYW4gYXJndW1lbnQg
bWF5IHVzZSB0aGUgYWN0dWFsIGFyZ3VtZW50IHBhc3NlZCwgYXMKICAgICAvLyBvcHBvc2VkIHRv
IHVzaW5nIGEgdmFsdWUgd2Ugc2V0IGV4cGxpY2l0bHkuCkBAIC0yMzc5LDYgKzIzODIsNyBAQCBi
b29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUNvZGVCbG9jaygpCiAgICAgICAgICAgICAgICAgICAg
IG1faW5saW5lU3RhY2tUb3AtPm1fdW5saW5rZWRCbG9ja3MuYXBwZW5kKFVubGlua2VkQmxvY2so
bV9ncmFwaC5tX2Jsb2Nrcy5zaXplKCkpKTsKICAgICAgICAgICAgICAgICAgICAgbV9pbmxpbmVT
dGFja1RvcC0+bV9ibG9ja0xpbmtpbmdUYXJnZXRzLmFwcGVuZChtX2dyYXBoLm1fYmxvY2tzLnNp
emUoKSk7CiAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgubV9ibG9ja3MuYXBwZW5kKGJsb2Nr
LnJlbGVhc2UoKSk7CisgICAgICAgICAgICAgICAgICAgIHByZXBhcmVUb1BhcnNlQmxvY2soKTsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKSW5kZXg6IExheW91dFRlc3RzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4
MTg2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMTEtMTAtMjEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAg
ICAgICBERkcgaW5saW5pbmcgc29tZXRpbWVzIGZhaWxzIHRvIHJlc2V0IGNvbnN0YW50IHJlZmVy
ZW5jZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcw
NjY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAg
ICAgICBBZGRlZCBhIG5ldyB0ZXN0IHRoYXQgY292ZXJzIHRoaXMgc3BlY2lmaWMgYnVnIGFzIHdl
bGwgYXMgdGhlIGdlbmVyYWwKKyAgICAgICAgYWJpbGl0eSB0byBwZXJmb3JtIGlubGluaW5nLCBh
bmQgdGhlIGFiaWxpdHkgdG8gT1NSIG91dCBvZiBhbiBpbmxpbmUKKyAgICAgICAgc3RhY2suCisK
KyAgICAgICAgKiBmYXN0L2pzL2RmZy1pbmxpbmUtY29uc3RhbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2pzL2RmZy1pbmxpbmUtY29uc3RhbnQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvZGZnLWlubGluZS1jb25zdGFudC5qczogQWRk
ZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAoYmFyKToKKwogMjAxMS0xMC0yMSAgT2phbiBW
YWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeHVwIHRlc3QgZXhwZWN0YXRp
b25zIG5vdyB0aGF0IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0Lzk4MTczIGhhcyBs
YW5kZWQuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2RmZy1pbmxpbmUtY29uc3RhbnQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvZGZnLWlubGluZS1j
b25zdGFudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pz
L2RmZy1pbmxpbmUtY29uc3RhbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEzIEBACitUaGlzIHRlc3RzIHRoYXQgZnVuY3Rpb24gaW5saW5pbmcgaW4gdGhlIERGRyBKSVQg
ZG9lc24ndCBnZXQgY29uZnVzZWQgYnkgY29uc3RhbnRzIGJlaW5nIHJldXNlZCBiZXR3ZWVuIGlu
bGluZXIgYW5kIGlubGluZWUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGJhcig2LCAwKSBpcyAxMAorUEFTUyBiYXIoNiwgMSkgaXMgMTUKK1BBU1MgYmFyKDYsIGZhbHNl
KSBpcyAxMAorUEFTUyBiYXIoNiwgdHJ1ZSkgaXMgMTUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2Rm
Zy1pbmxpbmUtY29uc3RhbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pz
L2RmZy1pbmxpbmUtY29uc3RhbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvanMvZGZnLWlubGluZS1jb25zdGFudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEw
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvZGZnLWlubGlu
ZS1jb25zdGFudC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2pzL3NjcmlwdC10ZXN0cy9kZmctaW5saW5lLWNvbnN0YW50LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2RmZy1pbmxpbmUtY29uc3RhbnQuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9kZmctaW5s
aW5lLWNvbnN0YW50LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIzIEBACitkZXNjcmlwdGlv
bigKKyJUaGlzIHRlc3RzIHRoYXQgZnVuY3Rpb24gaW5saW5pbmcgaW4gdGhlIERGRyBKSVQgZG9l
c24ndCBnZXQgY29uZnVzZWQgYnkgY29uc3RhbnRzIGJlaW5nIHJldXNlZCBiZXR3ZWVuIGlubGlu
ZXIgYW5kIGlubGluZWUuIgorKTsKKworZnVuY3Rpb24gZm9vKGEsIGIpIHsKKyAgICBpZiAoYikK
KyAgICAgICAgcmV0dXJuIGEgKyA0OworICAgIHJldHVybiBiICsgNTsKK30KKworZnVuY3Rpb24g
YmFyKGEsIGIpIHsKKyAgICByZXR1cm4gZm9vKGEsIGIpICsgNTsKK30KKworZm9yICh2YXIgaSA9
IDA7IGkgPCAxMDAwOyArK2kpCisgICAgYmFyKGksIGkgKyAxKTsKKworc2hvdWxkQmUoImJhcig2
LCAwKSIsICIxMCIpOworc2hvdWxkQmUoImJhcig2LCAxKSIsICIxNSIpOworc2hvdWxkQmUoImJh
cig2LCBmYWxzZSkiLCAiMTAiKTsKK3Nob3VsZEJlKCJiYXIoNiwgdHJ1ZSkiLCAiMTUiKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="110048"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>