<?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>74682</bug_id>
          
          <creation_ts>2011-12-15 20:55:17 -0800</creation_ts>
          <short_desc>Value profiling should distinguished between NaN and non-NaN doubles</short_desc>
          <delta_ts>2011-12-15 21:42:12 -0800</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>InRadar</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>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>522491</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-15 20:55:17 -0800</bug_when>
    <thetext>We can do some optimizations if we know that a double is non-NaN.  For example, we can check that it is a double by simply comparing it against itself.  Currently this would be hazardous since the value profiler makes no distinction between NaN and non-NaN doubles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522494</commentid>
    <comment_count>1</comment_count>
      <attachid>119554</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-15 21:02:32 -0800</bug_when>
    <thetext>Created attachment 119554
the patch

As expected it&apos;s performance neutral.


Benchmark report for SunSpider, V8, and Kraken on nitroflex (MacBookPro8,2).

VMs tested:
&quot;TipOfTree&quot; at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r103019)
&quot;PredictDoubleNaN&quot; at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r103018)

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            PredictDoubleNaN                                
SunSpider:
   3d-cube                                5.4840+-0.1330          5.3382+-0.0660         might be 1.0273x faster
   3d-morph                               7.4073+-0.1111    ?     7.4246+-0.0961       ?
   3d-raytrace                            6.9559+-0.1634    ?     7.0458+-0.1572       ? might be 1.0129x slower
   access-binary-trees                    1.4580+-0.0310    !     1.5520+-0.0530       ! definitely 1.0645x slower
   access-fannkuch                        6.0871+-0.0773    ?     6.1192+-0.1244       ?
   access-nbody                           3.1432+-0.0693          3.1330+-0.0459       
   access-nsieve                          2.5735+-0.0658    ?     2.6017+-0.0665       ? might be 1.0109x slower
   bitops-3bit-bits-in-byte               1.2333+-0.0313    ?     1.2434+-0.0274       ?
   bitops-bits-in-byte                    2.3625+-0.0654          2.3457+-0.0599       
   bitops-bitwise-and                     3.3340+-0.0585    ?     3.3454+-0.0785       ?
   bitops-nsieve-bits                     5.3881+-0.1048          5.3104+-0.0930         might be 1.0146x faster
   controlflow-recursive                  2.0178+-0.0476          1.9701+-0.0325         might be 1.0242x faster
   crypto-aes                             7.2700+-0.1402          7.1048+-0.1512         might be 1.0233x faster
   crypto-md5                             2.4290+-0.1085          2.3045+-0.0370         might be 1.0540x faster
   crypto-sha1                            2.1217+-0.0528          2.0630+-0.0252         might be 1.0285x faster
   date-format-tofte                      9.8704+-0.1792          9.7020+-0.1486         might be 1.0174x faster
   date-format-xparb                      8.9539+-0.1590    ?     8.9686+-0.1146       ?
   math-cordic                            6.2687+-0.0764    ?     6.3139+-0.0836       ?
   math-partial-sums                      7.5351+-0.1942          7.4479+-0.1355         might be 1.0117x faster
   math-spectral-norm                     2.3118+-0.0427    ?     2.3248+-0.0184       ?
   regexp-dna                             7.6980+-0.1357    ?     7.8306+-0.1395       ? might be 1.0172x slower
   string-base64                          4.2284+-0.0946          4.2016+-0.0984       
   string-fasta                           6.6104+-0.1455          6.5745+-0.1342       
   string-tagcloud                       10.8547+-0.2017         10.8213+-0.1787       
   string-unpack-code                    18.5251+-0.2388    ?    18.7376+-0.2351       ? might be 1.0115x slower
   string-validate-input                  5.1609+-0.0778    ?     5.3114+-0.1091       ? might be 1.0292x slower

   &lt;arithmetic&gt; *                         5.6647+-0.0115          5.6591+-0.0251         might be 1.0010x faster
   &lt;geometric&gt;                            4.6001+-0.0154          4.5926+-0.0224         might be 1.0016x faster
   &lt;harmonic&gt;                             3.6840+-0.0201    ?     3.6850+-0.0206       ? might be 1.0003x slower

                                            TipOfTree            PredictDoubleNaN                                
V8:
   crypto                                67.9820+-0.6179    !    69.7032+-0.9241       ! definitely 1.0253x slower
   deltablue                            147.3645+-0.6929    ?   148.0295+-1.2605       ?
   earley-boyer                          79.1573+-0.9040         79.0512+-0.8209       
   raytrace                              46.8626+-0.4293         46.7946+-0.5416       
   regexp                               101.8191+-0.5797        101.0834+-0.4287       
   richards                             117.5731+-1.0009        117.2163+-1.3162       
   splay                                 71.2523+-0.9562    ?    72.8645+-1.3583       ? might be 1.0226x slower

   &lt;arithmetic&gt;                          90.2873+-0.2690    ?    90.6775+-0.3451       ? might be 1.0043x slower
   &lt;geometric&gt; *                         84.8563+-0.2995    ?    85.3231+-0.3419       ? might be 1.0055x slower
   &lt;harmonic&gt;                            79.6867+-0.3411    ?    80.1875+-0.3707       ? might be 1.0063x slower

                                            TipOfTree            PredictDoubleNaN                                
Kraken:
   ai-astar                             482.9699+-5.6795        478.8014+-5.7710       
   audio-beat-detection                 170.2342+-1.3675    ?   171.0469+-2.2224       ?
   audio-dft                            281.0433+-10.6172       272.1817+-2.9181         might be 1.0326x faster
   audio-fft                            105.3395+-0.6960    ?   105.4496+-0.6958       ?
   audio-oscillator                     252.2022+-5.6441        248.1389+-2.0256         might be 1.0164x faster
   imaging-darkroom                     273.3609+-9.3956        266.7807+-6.2242         might be 1.0247x faster
   imaging-desaturate                   223.3151+-1.0393    ?   224.7058+-1.6644       ?
   imaging-gaussian-blur                482.5333+-3.2677        481.7591+-3.2505       
   json-parse-financial                  57.6880+-0.1772    ^    56.9333+-0.4492       ^ definitely 1.0133x faster
   json-stringify-tinderbox              70.9564+-0.5107    ?    71.9561+-0.5235       ? might be 1.0141x slower
   stanford-crypto-aes                   96.0367+-0.5502         96.0310+-0.6714       
   stanford-crypto-ccm                   97.1362+-0.6539    ?    97.8263+-1.1311       ?
   stanford-crypto-pbkdf2               191.7424+-1.7969        189.9253+-1.7164       
   stanford-crypto-sha256-iterative      81.8126+-0.5954    ?    82.1507+-0.4898       ?

   &lt;arithmetic&gt; *                       204.7408+-1.3838        203.1205+-0.6283         might be 1.0080x faster
   &lt;geometric&gt;                          164.6821+-0.7232        163.9029+-0.3866         might be 1.0048x faster
   &lt;harmonic&gt;                           133.6188+-0.3542        133.3949+-0.3179         might be 1.0017x faster

                                            TipOfTree            PredictDoubleNaN                                
All benchmarks:
   &lt;arithmetic&gt;                          77.5673+-0.4335         77.1397+-0.1916         might be 1.0055x faster
   &lt;geometric&gt;                           20.6141+-0.0611         20.5831+-0.0493         might be 1.0015x faster
   &lt;harmonic&gt;                             6.4825+-0.0348    ?     6.4847+-0.0351       ? might be 1.0003x slower

                                            TipOfTree            PredictDoubleNaN                                
Geomean of preferred means:
   &lt;scaled-result&gt;                       46.1690+-0.1460         46.1158+-0.0783         might be 1.0012x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522507</commentid>
    <comment_count>2</comment_count>
      <attachid>119554</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-15 21:31:23 -0800</bug_when>
    <thetext>Comment on attachment 119554
the patch

Attachment 119554 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10902542

New failing tests:
media/event-attributes.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522515</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-15 21:41:00 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 119554 [details])
&gt; Attachment 119554 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/10902542
&gt; 
&gt; New failing tests:
&gt; media/event-attributes.html

Assuming that this is a fluke since I didn&apos;t touch any code that chromium uses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522517</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-15 21:41:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/10591560&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522518</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-15 21:42:12 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/103023</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119554</attachid>
            <date>2011-12-15 21:02:32 -0800</date>
            <delta_ts>2011-12-15 21:31:23 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>doublenan_patch_1.diff</filename>
            <type>text/plain</type>
            <size>4315</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTAzMDE5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDExLTEyLTE1ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
VmFsdWUgcHJvZmlsaW5nIHNob3VsZCBkaXN0aW5ndWlzaGVkIGJldHdlZW4gTmFOIGFuZCBub24t
TmFOIGRvdWJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc0NjgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAg
IAorICAgICAgICBBZGRlZCBQcmVkaWN0RG91YmxlUmVhbCBhbmQgUHJlZGljdERvdWJsZU5hTi4g
UHJlZGljdERvdWJsZSBpcyBub3cgdGhlIHVuaW9uCisgICAgICAgIG9mIHRoZSB0d28uCisKKyAg
ICAgICAgKiBieXRlY29kZS9QcmVkaWN0ZWRUeXBlLmNwcDoKKyAgICAgICAgKEpTQzo6cHJlZGlj
dGlvblRvU3RyaW5nKToKKyAgICAgICAgKEpTQzo6cHJlZGljdGlvbkZyb21WYWx1ZSk6CisgICAg
ICAgICogYnl0ZWNvZGUvUHJlZGljdGVkVHlwZS5oOgorICAgICAgICAoSlNDOjppc0RvdWJsZVJl
YWxQcmVkaWN0aW9uKToKKyAgICAgICAgKEpTQzo6aXNEb3VibGVQcmVkaWN0aW9uKToKKwogMjAx
MS0xMi0xNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlZ3Jlc3Npb24gKHIxMDI4NjYpOiBOYXZpZ2F0aW5nIGF3YXkgZnJvbSBvciBjbG9zaW5nIGEg
cGFnZSB3aXRoIGEgcGx1Z2luIGNyYXNoZXMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9QcmVkaWN0ZWRUeXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHJlZGljdGVkVHlwZS5jcHAJKHJldmlzaW9uIDEwMzAxOCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QcmVkaWN0ZWRUeXBlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTI4LDggKzEyOCwxMyBAQCBjb25zdCBjaGFyKiBwcmVkaWN0aW9uVG9TdHJpbmco
UHJlZGljdGVkCiAgICAgZWxzZQogICAgICAgICBpc1RvcCA9IGZhbHNlOwogICAgIAotICAgIGlm
ICh2YWx1ZSAmIFByZWRpY3REb3VibGUpCi0gICAgICAgIHB0ci5zdHJjYXQoIkRvdWJsZSIpOwor
ICAgIGlmICh2YWx1ZSAmIFByZWRpY3REb3VibGVSZWFsKQorICAgICAgICBwdHIuc3RyY2F0KCJE
b3VibGVyZWFsIik7CisgICAgZWxzZQorICAgICAgICBpc1RvcCA9IGZhbHNlOworICAgIAorICAg
IGlmICh2YWx1ZSAmIFByZWRpY3REb3VibGVOYU4pCisgICAgICAgIHB0ci5zdHJjYXQoIkRvdWJs
ZW5hbiIpOwogICAgIGVsc2UKICAgICAgICAgaXNUb3AgPSBmYWxzZTsKICAgICAKQEAgLTIxMiw4
ICsyMTcsMTIgQEAgUHJlZGljdGVkVHlwZSBwcmVkaWN0aW9uRnJvbVZhbHVlKEpTVmFsdQogewog
ICAgIGlmICh2YWx1ZS5pc0ludDMyKCkpCiAgICAgICAgIHJldHVybiBQcmVkaWN0SW50MzI7Ci0g
ICAgaWYgKHZhbHVlLmlzRG91YmxlKCkpCi0gICAgICAgIHJldHVybiBQcmVkaWN0RG91YmxlOwor
ICAgIGlmICh2YWx1ZS5pc0RvdWJsZSgpKSB7CisgICAgICAgIGRvdWJsZSBudW1iZXIgPSB2YWx1
ZS5hc051bWJlcigpOworICAgICAgICBpZiAobnVtYmVyID09IG51bWJlcikKKyAgICAgICAgICAg
IHJldHVybiBQcmVkaWN0RG91YmxlUmVhbDsKKyAgICAgICAgcmV0dXJuIFByZWRpY3REb3VibGVO
YU47CisgICAgfQogICAgIGlmICh2YWx1ZS5pc0NlbGwoKSkKICAgICAgICAgcmV0dXJuIHByZWRp
Y3Rpb25Gcm9tQ2VsbCh2YWx1ZS5hc0NlbGwoKSk7CiAgICAgaWYgKHZhbHVlLmlzQm9vbGVhbigp
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ByZWRpY3RlZFR5cGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJlZGljdGVkVHlw
ZS5oCShyZXZpc2lvbiAxMDMwMTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UHJlZGljdGVkVHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSw5ICs1NSwxMSBAQCBzdGF0aWMg
Y29uc3QgUHJlZGljdGVkVHlwZSBQcmVkaWN0U3RyaW5nCiBzdGF0aWMgY29uc3QgUHJlZGljdGVk
VHlwZSBQcmVkaWN0Q2VsbE90aGVyICAgICA9IDB4MDAwMDQwMDA7IC8vIEl0J3MgZGVmaW5pdGVs
eSBhIEpTQ2VsbCBidXQgbm90IGEgc3ViY2xhc3Mgb2YgSlNPYmplY3QgYW5kIGRlZmluaXRlbHkg
bm90IGEgSlNTdHJpbmcuCiBzdGF0aWMgY29uc3QgUHJlZGljdGVkVHlwZSBQcmVkaWN0Q2VsbCAg
ICAgICAgICA9IDB4MDAwMDdmZmY7IC8vIEl0J3MgZGVmaW5pdGVseSBhIEpTQ2VsbC4KIHN0YXRp
YyBjb25zdCBQcmVkaWN0ZWRUeXBlIFByZWRpY3RJbnQzMiAgICAgICAgID0gMHgwMDAwODAwMDsg
Ly8gSXQncyBkZWZpbml0ZWx5IGFuIEludDMyLgotc3RhdGljIGNvbnN0IFByZWRpY3RlZFR5cGUg
UHJlZGljdERvdWJsZSAgICAgICAgPSAweDAwMDEwMDAwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBE
b3VibGUuCi1zdGF0aWMgY29uc3QgUHJlZGljdGVkVHlwZSBQcmVkaWN0TnVtYmVyICAgICAgICA9
IDB4MDAwMTgwMDA7IC8vIEl0J3MgZWl0aGVyIGFuIEludDMyIG9yIGEgRG91YmxlLgotc3RhdGlj
IGNvbnN0IFByZWRpY3RlZFR5cGUgUHJlZGljdEJvb2xlYW4gICAgICAgPSAweDAwMDIwMDAwOyAv
LyBJdCdzIGRlZmluaXRlbHkgYSBCb29sZWFuLgorc3RhdGljIGNvbnN0IFByZWRpY3RlZFR5cGUg
UHJlZGljdERvdWJsZVJlYWwgICAgPSAweDAwMDEwMDAwOyAvLyBJdCdzIGRlZmluaXRlbHkgYSBu
b24tTmFOIGRvdWJsZS4KK3N0YXRpYyBjb25zdCBQcmVkaWN0ZWRUeXBlIFByZWRpY3REb3VibGVO
YU4gICAgID0gMHgwMDAyMDAwMDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgTmFOLgorc3RhdGljIGNv
bnN0IFByZWRpY3RlZFR5cGUgUHJlZGljdERvdWJsZSAgICAgICAgPSAweDAwMDMwMDAwOyAvLyBJ
dCdzIGVpdGhlciBhIG5vbi1OYU4gb3IgYSBOYU4gZG91YmxlLgorc3RhdGljIGNvbnN0IFByZWRp
Y3RlZFR5cGUgUHJlZGljdE51bWJlciAgICAgICAgPSAweDAwMDM4MDAwOyAvLyBJdCdzIGVpdGhl
ciBhbiBJbnQzMiBvciBhIERvdWJsZS4KK3N0YXRpYyBjb25zdCBQcmVkaWN0ZWRUeXBlIFByZWRp
Y3RCb29sZWFuICAgICAgID0gMHgwMDA0MDAwMDsgLy8gSXQncyBkZWZpbml0ZWx5IGEgQm9vbGVh
bi4KIHN0YXRpYyBjb25zdCBQcmVkaWN0ZWRUeXBlIFByZWRpY3RPdGhlciAgICAgICAgID0gMHg0
MDAwMDAwMDsgLy8gSXQncyBkZWZpbml0ZWx5IG5vbmUgb2YgdGhlIGFib3ZlLgogc3RhdGljIGNv
bnN0IFByZWRpY3RlZFR5cGUgUHJlZGljdFRvcCAgICAgICAgICAgPSAweDdmZmZmZmZmOyAvLyBJ
dCBjYW4gYmUgYW55IG9mIHRoZSBhYm92ZS4KIHN0YXRpYyBjb25zdCBQcmVkaWN0ZWRUeXBlIEZp
eGVkSW5kZXhlZFN0b3JhZ2VNYXNrID0gUHJlZGljdEJ5dGVBcnJheSB8IFByZWRpY3RJbnQ4QXJy
YXkgfCBQcmVkaWN0SW50MTZBcnJheSB8IFByZWRpY3RJbnQzMkFycmF5IHwgUHJlZGljdFVpbnQ4
QXJyYXkgfCBQcmVkaWN0VWludDE2QXJyYXkgfCBQcmVkaWN0VWludDMyQXJyYXkgfCBQcmVkaWN0
RmxvYXQzMkFycmF5IHwgUHJlZGljdEZsb2F0NjRBcnJheTsKQEAgLTE1OSw5ICsxNjEsMTQgQEAg
aW5saW5lIGJvb2wgaXNJbnQzMlByZWRpY3Rpb24oUHJlZGljdGVkVAogICAgIHJldHVybiB2YWx1
ZSA9PSBQcmVkaWN0SW50MzI7CiB9CiAKK2lubGluZSBib29sIGlzRG91YmxlUmVhbFByZWRpY3Rp
b24oUHJlZGljdGVkVHlwZSB2YWx1ZSkKK3sKKyAgICByZXR1cm4gdmFsdWUgPT0gUHJlZGljdERv
dWJsZVJlYWw7Cit9CisKIGlubGluZSBib29sIGlzRG91YmxlUHJlZGljdGlvbihQcmVkaWN0ZWRU
eXBlIHZhbHVlKQogewotICAgIHJldHVybiB2YWx1ZSA9PSBQcmVkaWN0RG91YmxlOworICAgIHJl
dHVybiAodmFsdWUgJiBQcmVkaWN0RG91YmxlKSA9PSB2YWx1ZTsKIH0KIAogaW5saW5lIGJvb2wg
aXNOdW1iZXJQcmVkaWN0aW9uKFByZWRpY3RlZFR5cGUgdmFsdWUpCg==
</data>
<flag name="review"
          id="119617"
          type_id="1"
          status="+"
          setter="barraclough"
    />
    <flag name="commit-queue"
          id="119625"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>