<?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>71619</bug_id>
          
          <creation_ts>2011-11-05 18:13:58 -0700</creation_ts>
          <short_desc>Value profiling should just use two buckets</short_desc>
          <delta_ts>2011-11-06 03:55:28 -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></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>496755</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-05 18:13:58 -0700</bug_when>
    <thetext>I did some benchmarking and found that the use of 8+1 buckets (8 for old JIT profiling and 1 for OSR exit profiling) is more than we need.  We get just as good if not better performance from just using 1+1 (one each for old JIT profiling and OSR exit profiling).  This is great because it simplifies the value profiling path (fewer instructions, faster), saves a register in the old JIT, and reduces space usage.



Generating benchmark report at TipOfTree_OneBucketVP_SunSpiderV8Kraken_20111105_1801_benchReport.txt

Benchmark report for SunSpider, V8, and Kraken on oldmac.local (MacPro4,1).

VMs tested:
&quot;TipOfTree&quot; at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc (r99229)
&quot;OneBucketVP&quot; at /Volumes/Data/pizlo/senary/OpenSource/WebKitBuild/Release/jsc (r99229)

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              OneBucketVP                                   
SunSpider:
   3d-cube                                9.4444+-0.0323    ^     9.3092+-0.0279       ^ definitely 1.0145x faster
   3d-morph                              10.4033+-0.1709    ^    10.1059+-0.0307       ^ definitely 1.0294x faster
   3d-raytrace                            9.7956+-0.1117    ?     9.8407+-0.0569       ?
   access-binary-trees                    2.0270+-0.0109          2.0124+-0.0068       
   access-fannkuch                        9.4557+-0.0136    ^     9.4174+-0.0093       ^ definitely 1.0041x faster
   access-nbody                           5.4512+-0.0044          5.4465+-0.0123       
   access-nsieve                          3.7995+-0.0026    ^     3.7813+-0.0045       ^ definitely 1.0048x faster
   bitops-3bit-bits-in-byte               1.5501+-0.0168          1.5398+-0.0160       
   bitops-bits-in-byte                    6.0319+-0.0234    ^     5.9728+-0.0134       ^ definitely 1.0099x faster
   bitops-bitwise-and                     4.1640+-0.0738    ^     3.9988+-0.0064       ^ definitely 1.0413x faster
   bitops-nsieve-bits                     6.8094+-0.0399    ?     6.8257+-0.0439       ?
   controlflow-recursive                  2.8154+-0.0170    ?     2.8346+-0.0173       ?
   crypto-aes                             9.2499+-0.0839    !     9.7937+-0.0764       ! definitely 1.0588x slower
   crypto-md5                             3.4338+-0.0093          3.4084+-0.0318       
   crypto-sha1                            3.1502+-0.0155          3.1463+-0.0220       
   date-format-tofte                     13.0974+-0.1241    ?    13.1928+-0.0860       ?
   date-format-xparb                     12.3853+-0.0783    ?    12.8073+-0.3730       ? might be 1.0341x slower
   math-cordic                            8.7652+-0.0334    ?     8.8017+-0.0918       ?
   math-partial-sums                     12.8008+-0.0415         12.8001+-0.0514       
   math-spectral-norm                     3.4674+-0.0090    ^     3.4443+-0.0057       ^ definitely 1.0067x faster
   regexp-dna                            16.5719+-0.1238         16.4972+-0.1279       
   string-base64                          5.2041+-0.0308          5.1135+-0.0703         might be 1.0177x faster
   string-fasta                           8.7949+-0.1948    ^     8.5718+-0.0201       ^ definitely 1.0260x faster
   string-tagcloud                       15.8784+-0.1283    ?    15.9105+-0.1423       ?
   string-unpack-code                    28.3148+-0.0696         28.2295+-0.1026       
   string-validate-input                  7.0701+-0.0848    ^     6.8534+-0.0518       ^ definitely 1.0316x faster

   &lt;arithmetic&gt; *                         8.4589+-0.0368          8.4483+-0.0276       
   &lt;geometric&gt;                            6.7950+-0.0275          6.7697+-0.0197       
   &lt;harmonic&gt;                             5.3454+-0.0204          5.3145+-0.0154       

                                            TipOfTree              OneBucketVP                                   
V8:
   crypto                                97.7543+-0.3511         97.3937+-0.2756       
   deltablue                            219.6112+-1.8180        219.1773+-2.4201       
   earley-boyer                         133.5170+-0.2285    ^   131.1894+-1.3782       ^ definitely 1.0177x faster
   raytrace                              84.3367+-0.6111    ?    85.3164+-0.8042       ? might be 1.0116x slower
   regexp                               149.4763+-0.2715    !   151.5035+-0.3650       ! definitely 1.0136x slower
   richards                             174.3946+-0.7936    ^   172.0640+-1.1799       ^ definitely 1.0135x faster
   splay                                107.4827+-1.1809    ?   108.2485+-1.3268       ?

   &lt;arithmetic&gt;                         138.0818+-0.3135        137.8418+-0.4181       
   &lt;geometric&gt; *                        131.4217+-0.3243        131.3308+-0.4165       
   &lt;harmonic&gt;                           125.3079+-0.3596    ?   125.3763+-0.4490       ?

                                            TipOfTree              OneBucketVP                                   
Kraken:
   ai-astar                             896.9548+-1.7426        895.8417+-0.6878       
   audio-beat-detection                 257.9389+-2.3795        255.1806+-0.9593         might be 1.0108x faster
   audio-dft                            314.7822+-2.7349    ?   314.9732+-2.7514       ?
   audio-fft                            167.5004+-0.9682        167.0070+-0.4499       
   audio-oscillator                     351.4115+-1.8714    ?   351.7607+-1.1919       ?
   imaging-darkroom                     402.4379+-5.3544    ?   405.1164+-5.7681       ?
   imaging-desaturate                   291.2985+-0.0342        291.2460+-0.0585       
   imaging-gaussian-blur                751.0062+-0.2454    ?   751.1033+-0.2355       ?
   json-parse-financial                  87.5892+-0.2083    ^    86.4003+-0.1607       ^ definitely 1.0138x faster
   json-stringify-tinderbox              95.5809+-0.4278    ?    96.0481+-0.5510       ?
   stanford-crypto-aes                  140.1788+-0.6412    ^   138.8752+-0.5939       ^ definitely 1.0094x faster
   stanford-crypto-ccm                  139.2021+-0.8158    ^   136.8842+-0.5039       ^ definitely 1.0169x faster
   stanford-crypto-pbkdf2               290.6461+-2.2840        287.1813+-2.2450         might be 1.0121x faster
   stanford-crypto-sha256-iterative     118.2348+-0.1568    ?   118.3057+-0.3454       ?

   &lt;arithmetic&gt; *                       307.4830+-0.4522        306.8517+-0.6122       
   &lt;geometric&gt;                          240.1128+-0.3429    ^   239.2066+-0.4708       ^ definitely 1.0038x faster
   &lt;harmonic&gt;                           193.5480+-0.2692    ^   192.5621+-0.3340       ^ definitely 1.0051x faster

                                            TipOfTree              OneBucketVP                                   
All benchmarks:
   &lt;arithmetic&gt;                         116.8355+-0.1279        116.6058+-0.1822       
   &lt;geometric&gt;                           30.5466+-0.0760         30.4462+-0.0609       
   &lt;harmonic&gt;                             9.4148+-0.0352          9.3611+-0.0267       

                                            TipOfTree              OneBucketVP                                   
Geomean of preferred means:
   &lt;scaled-result&gt;                       69.9195+-0.1277         69.8263+-0.1330</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496764</commentid>
    <comment_count>1</comment_count>
      <attachid>113775</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-05 18:22:33 -0700</bug_when>
    <thetext>Created attachment 113775
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496790</commentid>
    <comment_count>2</comment_count>
      <attachid>113779</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-06 01:43:27 -0800</bug_when>
    <thetext>Created attachment 113779
the patch

Trying to fix Mac build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496798</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-06 03:55:28 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/99375</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113775</attachid>
            <date>2011-11-05 18:22:33 -0700</date>
            <delta_ts>2011-11-06 01:43:27 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>onebucketvp_patch_1.diff</filename>
            <type>text/plain</type>
            <size>7640</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTkzNjYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTEtMTEtMDUgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBW
YWx1ZSBwcm9maWxpbmcgc2hvdWxkIGp1c3QgdXNlIHR3byBidWNrZXRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTYxOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQWRkZWQgb25lIG1vcmUg
Y29uZmlndXJhdGlvbiBvcHRpb25zIChsaWtlIEhldXJpc3RpY3M6Om1pbmltdW1PcHRpbWl6YXRp
b25EZWxheSksCisgICAgICAgIGltcHJvdmVkIGRlYnVnZ2luZyBpbiBKSVQgb3B0aW1pemF0aW9u
IHN1cHBvcnQsIGNoYW5nZWQgdGhlIG51bWJlciBvZiBidWNrZXRzCisgICAgICAgIGluIHRoZSB2
YWx1ZSBwcm9maWxlIGZyb20gOSB0byAyLCBhbmQgd3JvdGUgYSBtb3JlIG9wdGltYWwgdmFsdWUg
cHJvZmlsaW5nIHBhdGgKKyAgICAgICAgaW4gdGhlIG9sZCBKSVQgdG8gdGFrZSBhZHZhbnRhZ2Ug
b2YgdGhpcy4gSXQncyBzdGlsbCBwb3NzaWJsZSB0byBwbGF5IGFyb3VuZCB3aXRoCisgICAgICAg
IGxhcmdlciBudW1iZXJzIG9mIGJ1Y2tldHMsIGFuZCB3ZSBzaG91bGQgcHJvYmFibHkga2VlcCB0
aGlzIGZvciBhIGxpdHRsZSB3aGlsZQorICAgICAgICB1bnRpbCB3ZSBjb252aW5jZSBvdXJzZWx2
ZXMgdGhhdCB1c2luZyBqdXN0IHR3byBidWNrZXRzIGlzIHRoZSByaWdodCBjYWxsLgorCisgICAg
ICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpz
aG91bGRPcHRpbWl6ZU5vdyk6CisgICAgICAgICogYnl0ZWNvZGUvVmFsdWVQcm9maWxlLmg6Cisg
ICAgICAgICogaml0L0pJVElubGluZU1ldGhvZHMuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
VmFsdWVQcm9maWxpbmdTaXRlKToKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAgICAg
ICAoSlNDOjpERUZJTkVfU1RVQl9GVU5DVElPTik6CisgICAgICAgICogcnVudGltZS9IZXVyaXN0
aWNzLmNwcDoKKyAgICAgICAgKEpTQzo6SGV1cmlzdGljczo6aW5pdGlhbGl6ZUhldXJpc3RpY3Mp
OgorICAgICAgICAqIHJ1bnRpbWUvSGV1cmlzdGljcy5oOgorCiAyMDExLTExLTA1ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IHdpbmRvd3MgYnVpbGQuCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNp
b24gOTkyMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTk1Niw3ICsxOTU2LDggQEAgYm9vbCBDb2RlQmxvY2s6OnNo
b3VsZE9wdGltaXplTm93KCkKICNlbmRpZgogCiAgICAgaWYgKCghbnVtYmVyT2ZOb25Bcmd1bWVu
dFZhbHVlUHJvZmlsZXMgfHwgKGRvdWJsZSludW1iZXJPZkxpdmVOb25Bcmd1bWVudFZhbHVlUHJv
ZmlsZXMgLyBudW1iZXJPZk5vbkFyZ3VtZW50VmFsdWVQcm9maWxlcyA+PSBIZXVyaXN0aWNzOjpk
ZXNpcmVkUHJvZmlsZUxpdmVuZXNzUmF0ZSkKLSAgICAgICAgJiYgKCFudW1iZXJPZlZhbHVlUHJv
ZmlsZXMoKSB8fCAoZG91YmxlKW51bWJlck9mU2FtcGxlc0luUHJvZmlsZXMgLyBWYWx1ZVByb2Zp
bGU6Om51bWJlck9mQnVja2V0cyAvIG51bWJlck9mVmFsdWVQcm9maWxlcygpID49IEhldXJpc3Rp
Y3M6OmRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlKSkKKyAgICAgICAgJiYgKCFudW1iZXJPZlZh
bHVlUHJvZmlsZXMoKSB8fCAoZG91YmxlKW51bWJlck9mU2FtcGxlc0luUHJvZmlsZXMgLyBWYWx1
ZVByb2ZpbGU6Om51bWJlck9mQnVja2V0cyAvIG51bWJlck9mVmFsdWVQcm9maWxlcygpID49IEhl
dXJpc3RpY3M6OmRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlKQorICAgICAgICAmJiBtX29wdGlt
aXphdGlvbkRlbGF5Q291bnRlciArIDEgPj0gSGV1cmlzdGljczo6bWluaW11bU9wdGltaXphdGlv
bkRlbGF5KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKICAgICBtX29wdGltaXphdGlvbkRl
bGF5Q291bnRlcisrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVl
UHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9W
YWx1ZVByb2ZpbGUuaAkocmV2aXNpb24gOTkyMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvVmFsdWVQcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAKICNpZiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCiBzdHJ1Y3QgVmFs
dWVQcm9maWxlIHsKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9nTnVtYmVyT2ZCdWNrZXRz
ID0gMzsgLy8gOCBidWNrZXRzCisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvZ051bWJlck9m
QnVja2V0cyA9IDA7IC8vIDEgYnVja2V0CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJl
ck9mQnVja2V0cyA9IDEgPDwgbG9nTnVtYmVyT2ZCdWNrZXRzOwogICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBudW1iZXJPZlNwZWNGYWlsQnVja2V0cyA9IDE7CiAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGJ1Y2tldEluZGV4TWFzayA9IG51bWJlck9mQnVja2V0cyAtIDE7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaAkocmV2aXNpb24gOTky
MjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaAkod29y
a2luZyBjb3B5KQpAQCAtNDYyLDYgKzQ2Miw5IEBAIGlubGluZSB2b2lkIEpJVDo6ZW1pdFZhbHVl
UHJvZmlsaW5nU2l0ZSgKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGNvbnN0IFJlZ2lzdGVy
SUQgdmFsdWUgPSByZWdUMDsKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNvbnN0IFJlZ2lz
dGVySUQgdmFsdWVUYWcgPSByZWdUMTsKKyNlbmRpZgogICAgIGNvbnN0IFJlZ2lzdGVySUQgc2Ny
YXRjaCA9IHJlZ1QzOwogICAgIAogICAgIFZhbHVlUHJvZmlsZSogdmFsdWVQcm9maWxlOwpAQCAt
NDc0LDYgKzQ3NywxOSBAQCBpbmxpbmUgdm9pZCBKSVQ6OmVtaXRWYWx1ZVByb2ZpbGluZ1NpdGUo
CiAgICAgCiAgICAgQVNTRVJUKHZhbHVlUHJvZmlsZSk7CiAgICAgCisgICAgaWYgKFZhbHVlUHJv
ZmlsZTo6bnVtYmVyT2ZCdWNrZXRzID09IDEpIHsKKyAgICAgICAgLy8gV2UncmUgaW4gYSBzaW1w
bGUgY29uZmlndXJhdGlvbjogb25seSBvbmUgYnVja2V0LCBzbyB3ZSBjYW4ganVzdCBkbyBhIGRp
cmVjdAorICAgICAgICAvLyBzdG9yZS4KKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICBzdG9y
ZVB0cih2YWx1ZSwgdmFsdWVQcm9maWxlLT5tX2J1Y2tldHMpOworI2Vsc2UKKyAgICAgICAgRW5j
b2RlZFZhbHVlRGVzY3JpcHRvciogZGVzY3JpcHRvciA9IGJpdHdpc2VfY2FzdDxFbmNvZGVkVmFs
dWVEZXNjcmlwdG9yKj4odmFsdWVQcm9maWxlLT5tX2J1Y2tldHMpOworICAgICAgICBzdG9yZTMy
KHZhbHVlLCAmZGVzY3JpcHRvci0+YXNCaXRzLnBheWxvYWQpOworICAgICAgICBzdG9yZTMyKHZh
bHVlVGFnLCAmZGVzY3JpcHRvci0+YXNCaXRzLnRhZyk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICAKICAgICBpZiAobV9yYW5kb21HZW5lcmF0b3IuZ2V0VWludDMyKCkgJiAx
KQogICAgICAgICBhZGQzMihJbW0zMigxKSwgYnVja2V0Q291bnRlclJlZ2lzdGVyKTsKICAgICBl
bHNlCkBAIC00ODMsNyArNDk5LDYgQEAgaW5saW5lIHZvaWQgSklUOjplbWl0VmFsdWVQcm9maWxp
bmdTaXRlKAogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgc3RvcmVQdHIodmFsdWUsIEJhc2VJbmRl
eChzY3JhdGNoLCBidWNrZXRDb3VudGVyUmVnaXN0ZXIsIFRpbWVzRWlnaHQpKTsKICNlbGlmIFVT
RShKU1ZBTFVFMzJfNjQpCi0gICAgY29uc3QgUmVnaXN0ZXJJRCB2YWx1ZVRhZyA9IHJlZ1QxOwog
ICAgIHN0b3JlMzIodmFsdWUsIEJhc2VJbmRleChzY3JhdGNoLCBidWNrZXRDb3VudGVyUmVnaXN0
ZXIsIFRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXlsb2Fk
KSkpOwogICAgIHN0b3JlMzIodmFsdWVUYWcsIEJhc2VJbmRleChzY3JhdGNoLCBidWNrZXRDb3Vu
dGVyUmVnaXN0ZXIsIFRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0
cy50YWcpKSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMu
Y3BwCShyZXZpc2lvbiA5OTIyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTU4LDcgKzE5NTgsNyBAQCBERUZJTkVfU1RVQl9G
VU5DVElPTih2b2lkLCBvcHRpbWl6ZV9mcm9tCiAgICAgCiAgICAgaWYgKHZvaWQqIGFkZHJlc3Mg
PSBERkc6OnByZXBhcmVPU1JFbnRyeShjYWxsRnJhbWUsIG9wdGltaXplZENvZGVCbG9jaywgYnl0
ZWNvZGVJbmRleCkpIHsKICNpZiBFTkFCTEUoSklUX1ZFUkJPU0VfT1NSKQotICAgICAgICBwcmlu
dGYoIk9wdGltaXppbmcgJXAgZnJvbSBsb29wIHN1Y2NlZWRlZCwgcGVyZm9ybWluZyBPU1IuXG4i
LCBjb2RlQmxvY2spOworICAgICAgICBwcmludGYoIk9wdGltaXppbmcgJXAgZnJvbSBsb29wIHN1
Y2NlZWRlZCwgcGVyZm9ybWluZyBPU1IgYWZ0ZXIgYSBkZWxheSBvZiAldS5cbiIsIGNvZGVCbG9j
aywgY29kZUJsb2NrLT5vcHRpbWl6YXRpb25EZWxheUNvdW50ZXIoKSk7CiAjZW5kaWYKIAogICAg
ICAgICBjb2RlQmxvY2stPm9wdGltaXplU29vbigpOwpAQCAtMTk2OCw3ICsxOTY4LDcgQEAgREVG
SU5FX1NUVUJfRlVOQ1RJT04odm9pZCwgb3B0aW1pemVfZnJvbQogICAgIH0KICAgICAKICNpZiBF
TkFCTEUoSklUX1ZFUkJPU0VfT1NSKQotICAgIHByaW50ZigiT3B0aW1pemluZyAlcCBmcm9tIGxv
b3Agc3VjY2VlZGVkLCBPU1IgZmFpbGVkLlxuIiwgY29kZUJsb2NrKTsKKyAgICBwcmludGYoIk9w
dGltaXppbmcgJXAgZnJvbSBsb29wIHN1Y2NlZWRlZCwgT1NSIGZhaWxlZCwgYWZ0ZXIgYSBkZWxh
eSBvZiAldS5cbiIsIGNvZGVCbG9jaywgY29kZUJsb2NrLT5vcHRpbWl6YXRpb25EZWxheUNvdW50
ZXIoKSk7CiAjZW5kaWYKIAogICAgIC8vIENvdW50IHRoZSBPU1IgZmFpbHVyZSBhcyBhIHNwZWN1
bGF0aW9uIGZhaWx1cmUuIElmIHRoaXMgaGFwcGVucyBhIGxvdCwgdGhlbgpAQCAtMjA1OCw3ICsy
MDU4LDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04odm9pZCwgb3B0aW1pemVfZnJvbQogICAgIEFT
U0VSVChjb2RlQmxvY2stPnJlcGxhY2VtZW50KCktPmdldEpJVFR5cGUoKSA9PSBKSVRDb2RlOjpE
RkdKSVQpOwogCiAjaWYgRU5BQkxFKEpJVF9WRVJCT1NFX09TUikKLSAgICBwcmludGYoIk9wdGlt
aXppbmcgJXAgZnJvbSByZXR1cm4gc3VjY2VlZGVkLlxuIiwgY29kZUJsb2NrKTsKKyAgICBwcmlu
dGYoIk9wdGltaXppbmcgJXAgZnJvbSByZXR1cm4gc3VjY2VlZGVkIGFmdGVyIGEgZGVsYXkgb2Yg
JXUuXG4iLCBjb2RlQmxvY2ssIGNvZGVCbG9jay0+b3B0aW1pemF0aW9uRGVsYXlDb3VudGVyKCkp
OwogI2VuZGlmCiAgICAgCiAgICAgY29kZUJsb2NrLT5vcHRpbWl6ZVNvb24oKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hldXJpc3RpY3MuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hldXJpc3RpY3MuY3BwCShyZXZpc2lvbiA5
OTIyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hldXJpc3RpY3MuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NCw2ICs3NCw3IEBAIHVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhy
ZXNob2xkQmFzZUZvckwKIHVuc2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4Owog
dW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJTdGVwOwogCit1bnNpZ25lZCBtaW5p
bXVtT3B0aW1pemF0aW9uRGVsYXk7CiB1bnNpZ25lZCBtYXhpbXVtT3B0aW1pemF0aW9uRGVsYXk7
CiBkb3VibGUgZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGU7CiBkb3VibGUgZGVzaXJlZFByb2Zp
bGVGdWxsbmVzc1JhdGU7CkBAIC0xNTcsNiArMTU4LDcgQEAgdm9pZCBpbml0aWFsaXplSGV1cmlz
dGljcygpCiAKICAgICBTRVQocmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJTdGVwLCAxKTsKIAor
ICAgIFNFVChtaW5pbXVtT3B0aW1pemF0aW9uRGVsYXksICAgMSk7CiAgICAgU0VUKG1heGltdW1P
cHRpbWl6YXRpb25EZWxheSwgICA1KTsKICAgICBTRVQoZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1Jh
dGUsIDAuNzUpOwogICAgIFNFVChkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZSwgMC4zNSk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZXVyaXN0aWNzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGV1cmlzdGljcy5oCShyZXZpc2lv
biA5OTIyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hldXJpc3RpY3MuaAko
d29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBAQCBleHRlcm4gdW5zaWduZWQgbGFyZ2VGYWls
Q291bnRUaHJlc2hvbGRCCiBleHRlcm4gdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50
ZXJNYXg7CiBleHRlcm4gdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJTdGVwOwog
CitleHRlcm4gdW5zaWduZWQgbWluaW11bU9wdGltaXphdGlvbkRlbGF5OwogZXh0ZXJuIHVuc2ln
bmVkIG1heGltdW1PcHRpbWl6YXRpb25EZWxheTsKIGV4dGVybiBkb3VibGUgZGVzaXJlZFByb2Zp
bGVMaXZlbmVzc1JhdGU7CiBleHRlcm4gZG91YmxlIGRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRl
Owo=
</data>
<flag name="review"
          id="112259"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113779</attachid>
            <date>2011-11-06 01:43:27 -0800</date>
            <delta_ts>2011-11-06 01:43:27 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>onebucketvp_patch_2.diff</filename>
            <type>text/plain</type>
            <size>7793</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTkzNjYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTEtMTEtMDUgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBW
YWx1ZSBwcm9maWxpbmcgc2hvdWxkIGp1c3QgdXNlIHR3byBidWNrZXRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTYxOQorCisgICAgICAgIFJldmll
d2VkIGJ5IEdhdmluIEJhcnJhY2xvdWdoLgorICAgICAgICAKKyAgICAgICAgQWRkZWQgb25lIG1v
cmUgY29uZmlndXJhdGlvbiBvcHRpb25zIChsaWtlIEhldXJpc3RpY3M6Om1pbmltdW1PcHRpbWl6
YXRpb25EZWxheSksCisgICAgICAgIGltcHJvdmVkIGRlYnVnZ2luZyBpbiBKSVQgb3B0aW1pemF0
aW9uIHN1cHBvcnQsIGNoYW5nZWQgdGhlIG51bWJlciBvZiBidWNrZXRzCisgICAgICAgIGluIHRo
ZSB2YWx1ZSBwcm9maWxlIGZyb20gOSB0byAyLCBhbmQgd3JvdGUgYSBtb3JlIG9wdGltYWwgdmFs
dWUgcHJvZmlsaW5nIHBhdGgKKyAgICAgICAgaW4gdGhlIG9sZCBKSVQgdG8gdGFrZSBhZHZhbnRh
Z2Ugb2YgdGhpcy4gSXQncyBzdGlsbCBwb3NzaWJsZSB0byBwbGF5IGFyb3VuZCB3aXRoCisgICAg
ICAgIGxhcmdlciBudW1iZXJzIG9mIGJ1Y2tldHMsIGFuZCB3ZSBzaG91bGQgcHJvYmFibHkga2Vl
cCB0aGlzIGZvciBhIGxpdHRsZSB3aGlsZQorICAgICAgICB1bnRpbCB3ZSBjb252aW5jZSBvdXJz
ZWx2ZXMgdGhhdCB1c2luZyBqdXN0IHR3byBidWNrZXRzIGlzIHRoZSByaWdodCBjYWxsLgorCisg
ICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2Nr
OjpzaG91bGRPcHRpbWl6ZU5vdyk6CisgICAgICAgICogYnl0ZWNvZGUvVmFsdWVQcm9maWxlLmg6
CisgICAgICAgICogaml0L0pJVElubGluZU1ldGhvZHMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0VmFsdWVQcm9maWxpbmdTaXRlKToKKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAg
ICAgICAoSlNDOjpERUZJTkVfU1RVQl9GVU5DVElPTik6CisgICAgICAgICogcnVudGltZS9IZXVy
aXN0aWNzLmNwcDoKKyAgICAgICAgKEpTQzo6SGV1cmlzdGljczo6aW5pdGlhbGl6ZUhldXJpc3Rp
Y3MpOgorICAgICAgICAqIHJ1bnRpbWUvSGV1cmlzdGljcy5oOgorCiAyMDExLTExLTA1ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IHdpbmRvd3MgYnVpbGQuCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2
aXNpb24gOTkyMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk1Niw5ICsxOTU2LDExIEBAIGJvb2wgQ29kZUJsb2Nr
OjpzaG91bGRPcHRpbWl6ZU5vdygpCiAjZW5kaWYKIAogICAgIGlmICgoIW51bWJlck9mTm9uQXJn
dW1lbnRWYWx1ZVByb2ZpbGVzIHx8IChkb3VibGUpbnVtYmVyT2ZMaXZlTm9uQXJndW1lbnRWYWx1
ZVByb2ZpbGVzIC8gbnVtYmVyT2ZOb25Bcmd1bWVudFZhbHVlUHJvZmlsZXMgPj0gSGV1cmlzdGlj
czo6ZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGUpCi0gICAgICAgICYmICghbnVtYmVyT2ZWYWx1
ZVByb2ZpbGVzKCkgfHwgKGRvdWJsZSludW1iZXJPZlNhbXBsZXNJblByb2ZpbGVzIC8gVmFsdWVQ
cm9maWxlOjpudW1iZXJPZkJ1Y2tldHMgLyBudW1iZXJPZlZhbHVlUHJvZmlsZXMoKSA+PSBIZXVy
aXN0aWNzOjpkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZSkpCisgICAgICAgICYmICghbnVtYmVy
T2ZWYWx1ZVByb2ZpbGVzKCkgfHwgKGRvdWJsZSludW1iZXJPZlNhbXBsZXNJblByb2ZpbGVzIC8g
VmFsdWVQcm9maWxlOjpudW1iZXJPZkJ1Y2tldHMgLyBudW1iZXJPZlZhbHVlUHJvZmlsZXMoKSA+
PSBIZXVyaXN0aWNzOjpkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZSkKKyAgICAgICAgJiYgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KG1fb3B0aW1pemF0aW9uRGVsYXlDb3VudGVyKSArIDEgPj0gSGV1
cmlzdGljczo6bWluaW11bU9wdGltaXphdGlvbkRlbGF5KQogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAKKyAgICBBU1NFUlQobV9vcHRpbWl6YXRpb25EZWxheUNvdW50ZXIgPCBzdGQ6Om51bWVy
aWNfbGltaXRzPHVpbnQ4X3Q+OjptYXgoKSk7CiAgICAgbV9vcHRpbWl6YXRpb25EZWxheUNvdW50
ZXIrKzsKICAgICBvcHRpbWl6ZUFmdGVyV2FybVVwKCk7CiAgICAgcmV0dXJuIGZhbHNlOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUHJvZmlsZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVByb2ZpbGUuaAkocmV2
aXNpb24gOTkyMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVQcm9m
aWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICNpZiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCiBzdHJ1Y3QgVmFsdWVQcm9maWxlIHsKLSAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgbG9nTnVtYmVyT2ZCdWNrZXRzID0gMzsgLy8gOCBidWNrZXRz
CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvZ051bWJlck9mQnVja2V0cyA9IDA7IC8vIDEg
YnVja2V0CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bWJlck9mQnVja2V0cyA9IDEgPDwg
bG9nTnVtYmVyT2ZCdWNrZXRzOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1iZXJPZlNw
ZWNGYWlsQnVja2V0cyA9IDE7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGJ1Y2tldEluZGV4
TWFzayA9IG51bWJlck9mQnVja2V0cyAtIDE7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVElubGluZU1ldGhvZHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVElubGluZU1ldGhvZHMuaAkocmV2aXNpb24gOTkyMjkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaAkod29ya2luZyBjb3B5KQpAQCAtNDYy
LDYgKzQ2Miw5IEBAIGlubGluZSB2b2lkIEpJVDo6ZW1pdFZhbHVlUHJvZmlsaW5nU2l0ZSgKICAg
ICAgICAgcmV0dXJuOwogICAgIAogICAgIGNvbnN0IFJlZ2lzdGVySUQgdmFsdWUgPSByZWdUMDsK
KyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNvbnN0IFJlZ2lzdGVySUQgdmFsdWVUYWcgPSBy
ZWdUMTsKKyNlbmRpZgogICAgIGNvbnN0IFJlZ2lzdGVySUQgc2NyYXRjaCA9IHJlZ1QzOwogICAg
IAogICAgIFZhbHVlUHJvZmlsZSogdmFsdWVQcm9maWxlOwpAQCAtNDc0LDYgKzQ3NywxOSBAQCBp
bmxpbmUgdm9pZCBKSVQ6OmVtaXRWYWx1ZVByb2ZpbGluZ1NpdGUoCiAgICAgCiAgICAgQVNTRVJU
KHZhbHVlUHJvZmlsZSk7CiAgICAgCisgICAgaWYgKFZhbHVlUHJvZmlsZTo6bnVtYmVyT2ZCdWNr
ZXRzID09IDEpIHsKKyAgICAgICAgLy8gV2UncmUgaW4gYSBzaW1wbGUgY29uZmlndXJhdGlvbjog
b25seSBvbmUgYnVja2V0LCBzbyB3ZSBjYW4ganVzdCBkbyBhIGRpcmVjdAorICAgICAgICAvLyBz
dG9yZS4KKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICBzdG9yZVB0cih2YWx1ZSwgdmFsdWVQ
cm9maWxlLT5tX2J1Y2tldHMpOworI2Vsc2UKKyAgICAgICAgRW5jb2RlZFZhbHVlRGVzY3JpcHRv
ciogZGVzY3JpcHRvciA9IGJpdHdpc2VfY2FzdDxFbmNvZGVkVmFsdWVEZXNjcmlwdG9yKj4odmFs
dWVQcm9maWxlLT5tX2J1Y2tldHMpOworICAgICAgICBzdG9yZTMyKHZhbHVlLCAmZGVzY3JpcHRv
ci0+YXNCaXRzLnBheWxvYWQpOworICAgICAgICBzdG9yZTMyKHZhbHVlVGFnLCAmZGVzY3JpcHRv
ci0+YXNCaXRzLnRhZyk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKICAg
ICBpZiAobV9yYW5kb21HZW5lcmF0b3IuZ2V0VWludDMyKCkgJiAxKQogICAgICAgICBhZGQzMihJ
bW0zMigxKSwgYnVja2V0Q291bnRlclJlZ2lzdGVyKTsKICAgICBlbHNlCkBAIC00ODMsNyArNDk5
LDYgQEAgaW5saW5lIHZvaWQgSklUOjplbWl0VmFsdWVQcm9maWxpbmdTaXRlKAogI2lmIFVTRShK
U1ZBTFVFNjQpCiAgICAgc3RvcmVQdHIodmFsdWUsIEJhc2VJbmRleChzY3JhdGNoLCBidWNrZXRD
b3VudGVyUmVnaXN0ZXIsIFRpbWVzRWlnaHQpKTsKICNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCi0g
ICAgY29uc3QgUmVnaXN0ZXJJRCB2YWx1ZVRhZyA9IHJlZ1QxOwogICAgIHN0b3JlMzIodmFsdWUs
IEJhc2VJbmRleChzY3JhdGNoLCBidWNrZXRDb3VudGVyUmVnaXN0ZXIsIFRpbWVzRWlnaHQsIE9C
SkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXlsb2FkKSkpOwogICAgIHN0b3JlMzIo
dmFsdWVUYWcsIEJhc2VJbmRleChzY3JhdGNoLCBidWNrZXRDb3VudGVyUmVnaXN0ZXIsIFRpbWVz
RWlnaHQsIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy50YWcpKSk7CiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCShyZXZpc2lvbiA5OTIy
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xOTU4LDcgKzE5NTgsNyBAQCBERUZJTkVfU1RVQl9GVU5DVElPTih2b2lkLCBvcHRp
bWl6ZV9mcm9tCiAgICAgCiAgICAgaWYgKHZvaWQqIGFkZHJlc3MgPSBERkc6OnByZXBhcmVPU1JF
bnRyeShjYWxsRnJhbWUsIG9wdGltaXplZENvZGVCbG9jaywgYnl0ZWNvZGVJbmRleCkpIHsKICNp
ZiBFTkFCTEUoSklUX1ZFUkJPU0VfT1NSKQotICAgICAgICBwcmludGYoIk9wdGltaXppbmcgJXAg
ZnJvbSBsb29wIHN1Y2NlZWRlZCwgcGVyZm9ybWluZyBPU1IuXG4iLCBjb2RlQmxvY2spOworICAg
ICAgICBwcmludGYoIk9wdGltaXppbmcgJXAgZnJvbSBsb29wIHN1Y2NlZWRlZCwgcGVyZm9ybWlu
ZyBPU1IgYWZ0ZXIgYSBkZWxheSBvZiAldS5cbiIsIGNvZGVCbG9jaywgY29kZUJsb2NrLT5vcHRp
bWl6YXRpb25EZWxheUNvdW50ZXIoKSk7CiAjZW5kaWYKIAogICAgICAgICBjb2RlQmxvY2stPm9w
dGltaXplU29vbigpOwpAQCAtMTk2OCw3ICsxOTY4LDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04o
dm9pZCwgb3B0aW1pemVfZnJvbQogICAgIH0KICAgICAKICNpZiBFTkFCTEUoSklUX1ZFUkJPU0Vf
T1NSKQotICAgIHByaW50ZigiT3B0aW1pemluZyAlcCBmcm9tIGxvb3Agc3VjY2VlZGVkLCBPU1Ig
ZmFpbGVkLlxuIiwgY29kZUJsb2NrKTsKKyAgICBwcmludGYoIk9wdGltaXppbmcgJXAgZnJvbSBs
b29wIHN1Y2NlZWRlZCwgT1NSIGZhaWxlZCwgYWZ0ZXIgYSBkZWxheSBvZiAldS5cbiIsIGNvZGVC
bG9jaywgY29kZUJsb2NrLT5vcHRpbWl6YXRpb25EZWxheUNvdW50ZXIoKSk7CiAjZW5kaWYKIAog
ICAgIC8vIENvdW50IHRoZSBPU1IgZmFpbHVyZSBhcyBhIHNwZWN1bGF0aW9uIGZhaWx1cmUuIElm
IHRoaXMgaGFwcGVucyBhIGxvdCwgdGhlbgpAQCAtMjA1OCw3ICsyMDU4LDcgQEAgREVGSU5FX1NU
VUJfRlVOQ1RJT04odm9pZCwgb3B0aW1pemVfZnJvbQogICAgIEFTU0VSVChjb2RlQmxvY2stPnJl
cGxhY2VtZW50KCktPmdldEpJVFR5cGUoKSA9PSBKSVRDb2RlOjpERkdKSVQpOwogCiAjaWYgRU5B
QkxFKEpJVF9WRVJCT1NFX09TUikKLSAgICBwcmludGYoIk9wdGltaXppbmcgJXAgZnJvbSByZXR1
cm4gc3VjY2VlZGVkLlxuIiwgY29kZUJsb2NrKTsKKyAgICBwcmludGYoIk9wdGltaXppbmcgJXAg
ZnJvbSByZXR1cm4gc3VjY2VlZGVkIGFmdGVyIGEgZGVsYXkgb2YgJXUuXG4iLCBjb2RlQmxvY2ss
IGNvZGVCbG9jay0+b3B0aW1pemF0aW9uRGVsYXlDb3VudGVyKCkpOwogI2VuZGlmCiAgICAgCiAg
ICAgY29kZUJsb2NrLT5vcHRpbWl6ZVNvb24oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0hldXJpc3RpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0hldXJpc3RpY3MuY3BwCShyZXZpc2lvbiA5OTIyOSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0hldXJpc3RpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NCw2ICs3NCw3IEBAIHVuc2lnbmVkIGxhcmdlRmFpbENvdW50VGhyZXNob2xkQmFzZUZvckwKIHVu
c2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4OwogdW5zaWduZWQgcmVvcHRpbWl6
YXRpb25SZXRyeUNvdW50ZXJTdGVwOwogCit1bnNpZ25lZCBtaW5pbXVtT3B0aW1pemF0aW9uRGVs
YXk7CiB1bnNpZ25lZCBtYXhpbXVtT3B0aW1pemF0aW9uRGVsYXk7CiBkb3VibGUgZGVzaXJlZFBy
b2ZpbGVMaXZlbmVzc1JhdGU7CiBkb3VibGUgZGVzaXJlZFByb2ZpbGVGdWxsbmVzc1JhdGU7CkBA
IC0xNTcsNiArMTU4LDcgQEAgdm9pZCBpbml0aWFsaXplSGV1cmlzdGljcygpCiAKICAgICBTRVQo
cmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJTdGVwLCAxKTsKIAorICAgIFNFVChtaW5pbXVtT3B0
aW1pemF0aW9uRGVsYXksICAgMSk7CiAgICAgU0VUKG1heGltdW1PcHRpbWl6YXRpb25EZWxheSwg
ICA1KTsKICAgICBTRVQoZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGUsIDAuNzUpOwogICAgIFNF
VChkZXNpcmVkUHJvZmlsZUZ1bGxuZXNzUmF0ZSwgMC4zNSk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9IZXVyaXN0aWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSGV1cmlzdGljcy5oCShyZXZpc2lvbiA5OTIyOSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hldXJpc3RpY3MuaAkod29ya2luZyBjb3B5KQpAQCAt
NjAsNiArNjAsNyBAQCBleHRlcm4gdW5zaWduZWQgbGFyZ2VGYWlsQ291bnRUaHJlc2hvbGRCCiBl
eHRlcm4gdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJNYXg7CiBleHRlcm4gdW5z
aWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJTdGVwOwogCitleHRlcm4gdW5zaWduZWQg
bWluaW11bU9wdGltaXphdGlvbkRlbGF5OwogZXh0ZXJuIHVuc2lnbmVkIG1heGltdW1PcHRpbWl6
YXRpb25EZWxheTsKIGV4dGVybiBkb3VibGUgZGVzaXJlZFByb2ZpbGVMaXZlbmVzc1JhdGU7CiBl
eHRlcm4gZG91YmxlIGRlc2lyZWRQcm9maWxlRnVsbG5lc3NSYXRlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>