<?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>70854</bug_id>
          
          <creation_ts>2011-10-25 14:39:38 -0700</creation_ts>
          <short_desc>Tiered compilation may introduce dangling pointers in constant buffers</short_desc>
          <delta_ts>2011-10-25 14:55:49 -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>70246</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>490371</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-25 14:39:38 -0700</bug_when>
    <thetext>Constant buffers may contain heap pointers.  This works because all pointers in constant buffers are also placed into the constants array.  Tiered compilation always copies the constants array from the old code block to the new optimized one.  But it does not do the same thing for constant buffers.  Hence the optimized code&apos;s constant buffers may contain pointers not pinned by the constants array.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490373</commentid>
    <comment_count>1</comment_count>
      <attachid>112407</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-25 14:42:51 -0700</bug_when>
    <thetext>Created attachment 112407
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490374</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-25 14:44:20 -0700</bug_when>
    <thetext>Attachment 112407 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptCore/bytecode/CodeBlock.h:394:  The parameter name &quot;opcodeID&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490377</commentid>
    <comment_count>3</comment_count>
      <attachid>112407</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-10-25 14:48:32 -0700</bug_when>
    <thetext>Comment on attachment 112407
the patch

Fix t he style error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490381</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-25 14:52:28 -0700</bug_when>
    <thetext>This is performance neutral.


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
&quot;TipOfTree&quot; at /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc
&quot;FixConstBuf&quot; at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc

Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark. 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              FixConstBuf                                   
SunSpider:
   3d-cube                                8.0505+-0.0685          7.9359+-0.0667         might be 1.0144x faster
   3d-morph                               8.6633+-0.1600          8.5361+-0.1439         might be 1.0149x faster
   3d-raytrace                            8.2059+-0.0931    ?     8.2331+-0.1166       ?
   access-binary-trees                    1.6886+-0.0054    ?     1.6909+-0.0066       ?
   access-fannkuch                        7.7687+-0.0229          7.7430+-0.0173       
   access-nbody                           4.5287+-0.0058          4.5236+-0.0081       
   access-nsieve                          3.1825+-0.0146    ?     3.1851+-0.0263       ?
   bitops-3bit-bits-in-byte               1.3168+-0.0088          1.3083+-0.0029       
   bitops-bits-in-byte                    5.2742+-0.0120    ?     5.2809+-0.0378       ?
   bitops-bitwise-and                     3.4759+-0.0796    ?     3.4883+-0.0287       ?
   bitops-nsieve-bits                     5.6505+-0.0393          5.6337+-0.0351       
   controlflow-recursive                  2.3464+-0.0207          2.3335+-0.0041       
   crypto-aes                             7.6420+-0.0582          7.6371+-0.0855       
   crypto-md5                             2.8606+-0.0154    ?     2.8754+-0.0269       ?
   crypto-sha1                            2.6375+-0.0088          2.6337+-0.0110       
   date-format-tofte                     10.6854+-0.0953    ?    10.7042+-0.2139       ?
   date-format-xparb                     10.6916+-0.3089    ^     9.9594+-0.0866       ^ definitely 1.0735x faster
   math-cordic                            7.6859+-0.2778          7.6530+-0.2304       
   math-partial-sums                     10.5895+-0.0441    ?    10.6246+-0.0526       ?
   math-spectral-norm                     2.8830+-0.0048          2.8799+-0.0074       
   regexp-dna                            13.4970+-0.2367         13.4127+-0.2123       
   string-base64                          4.4485+-0.0206          4.4311+-0.0340       
   string-fasta                           7.1101+-0.0349    ?     7.1318+-0.0478       ?
   string-tagcloud                       13.1894+-0.1249         13.1489+-0.1403       
   string-unpack-code                    22.7091+-0.1914    ?    22.9071+-0.2137       ?
   string-validate-input                  5.5622+-0.0575    ?     5.5778+-0.0409       ?

   &lt;arithmetic&gt; *                         7.0132+-0.0274          6.9796+-0.0320       
   &lt;geometric&gt;                            5.6627+-0.0183          5.6401+-0.0180       
   &lt;harmonic&gt;                             4.4705+-0.0137          4.4587+-0.0100       

                                            TipOfTree              FixConstBuf                                   
V8:
   crypto                                81.3316+-0.2960         81.2628+-0.2383       
   deltablue                            199.5470+-0.5958    ^   198.4363+-0.1800       ^ definitely 1.0056x faster
   earley-boyer                         112.2752+-0.5393        112.1956+-0.7270       
   raytrace                              69.8685+-0.2929    ^    69.0072+-0.5303       ^ definitely 1.0125x faster
   regexp                               124.6409+-0.4324    ^   123.7003+-0.3378       ^ definitely 1.0076x faster
   richards                             145.2131+-0.8211    !   146.2276+-0.1030       ! definitely 1.0070x slower
   splay                                126.0377+-0.3933    ?   126.9318+-0.9943       ?

   &lt;arithmetic&gt;                         122.7020+-0.1650        122.5374+-0.1746       
   &lt;geometric&gt; *                        116.4504+-0.1692        116.2318+-0.2034       
   &lt;harmonic&gt;                           110.4595+-0.1673        110.1428+-0.2489       

                                            TipOfTree              FixConstBuf                                   
Kraken:
   ai-astar                             825.2143+-10.5640   ?   825.3995+-10.4404      ?
   audio-beat-detection                 214.5992+-1.0426        213.8940+-1.8930       
   audio-dft                            262.4195+-2.9936        261.3936+-2.7625       
   audio-fft                            133.1768+-0.8196    ?   133.2133+-0.6252       ?
   audio-oscillator                     291.2722+-1.0563        291.2201+-1.0960       
   imaging-darkroom                     452.7566+-6.8243    ?   469.5159+-10.2028      ? might be 1.0370x slower
   imaging-desaturate                   245.1950+-0.0779    ?   245.2536+-0.0819       ?
   imaging-gaussian-blur                621.4870+-0.3604    ?   621.5398+-0.7945       ?
   json-parse-financial                  71.2894+-0.2024    ^    70.4558+-0.1478       ^ definitely 1.0118x faster
   json-stringify-tinderbox              80.1929+-0.7263         79.4164+-0.3215       
   stanford-crypto-aes                  153.9564+-1.7819    ?   154.6274+-1.2732       ?
   stanford-crypto-ccm                  118.4293+-1.5540    ^   115.9632+-0.5710       ^ definitely 1.0213x faster
   stanford-crypto-pbkdf2               243.6601+-3.8261    ^   237.1275+-2.2955       ^ definitely 1.0275x faster
   stanford-crypto-sha256-iterative      85.7246+-0.2278         85.2612+-0.2401       

   &lt;arithmetic&gt; *                       271.3838+-1.3983    ?   271.7344+-0.8194       ?
   &lt;geometric&gt;                          207.2901+-0.7034        206.6849+-0.4216       
   &lt;harmonic&gt;                           163.2860+-0.3995    ^   162.2276+-0.2552       ^ definitely 1.0065x faster

                                            TipOfTree              FixConstBuf                                   
All benchmarks:
   &lt;arithmetic&gt;                         102.9921+-0.4253    ?   103.0534+-0.2680       ?
   &lt;geometric&gt;                           25.9617+-0.0675         25.8746+-0.0564       
   &lt;harmonic&gt;                             7.8792+-0.0238          7.8581+-0.0173       

                                            TipOfTree              FixConstBuf                                   
Geomean of preferred means:
   &lt;scaled-result&gt;                       60.5170+-0.1693         60.4084+-0.1491</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490382</commentid>
    <comment_count>5</comment_count>
      <attachid>112409</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-25 14:53:06 -0700</bug_when>
    <thetext>Created attachment 112409
the patch

Fixed the style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490387</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-25 14:55:49 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/98398</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112407</attachid>
            <date>2011-10-25 14:42:51 -0700</date>
            <delta_ts>2011-10-25 14:53:06 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixconstbuffer_patch_1.diff</filename>
            <type>text/plain</type>
            <size>4598</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTgzOTYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTEtMTAtMjUgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBU
aWVyZWQgY29tcGlsYXRpb24gbWF5IGludHJvZHVjZSBkYW5nbGluZyBwb2ludGVycyBpbiBjb25z
dGFudCBidWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MDg1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgVGllcmVkIGNvbXBpbGF0aW9uIG5vdyBjb3BpZXMgY29uc3RhbnQgYnVmZmVy
cywgd2hpY2ggZml4ZXMgdGhlIHJlZ3Jlc3Npb24gaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ2LiBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGlz
CisgICAgICAgIHJlZ3Jlc3Npb24gcmVsaWVzIG9uIGEgc3VidGxlIGludGVybGVhdmluZyBvZiBv
cHRpbWl6ZWQgY29tcGlsYXRpb24gYW5kIGdhcmJhZ2UKKyAgICAgICAgY29sbGVjdGlvbiwgYW5k
IGNhbm5vdCBiZSByZXByb2R1Y2VkIGluIGEgc2ltcGxlIHRlc3QuCisgICAgICAgIAorICAgICAg
ICBUaGlzIGFsc28gYWRkcyBzb21lIG5ldyBkZWJ1ZyBzdXBwb3J0LCB3aGljaCB3YXMgdXNlZCB0
byBmaXggdGhpcyBidWcgYW5kIGlzCisgICAgICAgIGxpa2VseSB0byBiZSB1c2VmdWwgaW4gdGhl
IGZ1dHVyZS4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6Y29weURhdGFGcm9tKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjp1
c2VzT3Bjb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKiBk
ZmcvREZHR3JhcGguY3BwOgorICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjpkdW1wKToKKwogMjAx
MS0xMC0yNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEZpeGluZyBXaW5kb3dzIGJ1aWxkIGFmdGVyIHI5ODM2NwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDk4Mjk5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4MjgsNiArMTgyOCw4IEBAIHZvaWQgQ29kZUJsb2NrOjpjb3B5RGF0YUZyb20oQ29k
ZUJsb2NrKiAKICAgICByZXBsYWNlRXhpc3RpbmdFbnRyaWVzKG1fY29uc3RhbnRSZWdpc3RlcnMs
IGFsdGVybmF0aXZlLT5tX2NvbnN0YW50UmVnaXN0ZXJzKTsKICAgICByZXBsYWNlRXhpc3RpbmdF
bnRyaWVzKG1fZnVuY3Rpb25EZWNscywgYWx0ZXJuYXRpdmUtPm1fZnVuY3Rpb25EZWNscyk7CiAg
ICAgcmVwbGFjZUV4aXN0aW5nRW50cmllcyhtX2Z1bmN0aW9uRXhwcnMsIGFsdGVybmF0aXZlLT5t
X2Z1bmN0aW9uRXhwcnMpOworICAgIGlmICghIW1fcmFyZURhdGEgJiYgISFhbHRlcm5hdGl2ZS0+
bV9yYXJlRGF0YSkKKyAgICAgICAgcmVwbGFjZUV4aXN0aW5nRW50cmllcyhtX3JhcmVEYXRhLT5t
X2NvbnN0YW50QnVmZmVycywgYWx0ZXJuYXRpdmUtPm1fcmFyZURhdGEtPm1fY29uc3RhbnRCdWZm
ZXJzKTsKIH0KIAogdm9pZCBDb2RlQmxvY2s6OmNvcHlEYXRhRnJvbUFsdGVybmF0aXZlKCkKQEAg
LTIwMDIsNCArMjAwNCwzMSBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcFZhbHVlUHJvZmlsZXMoKQog
fQogI2VuZGlmCiAKKyNpZm5kZWYgTkRFQlVHCitib29sIENvZGVCbG9jazo6dXNlc09wY29kZShP
cGNvZGVJRCBvcGNvZGVJRCkKK3sKKyAgICBJbnRlcnByZXRlciogaW50ZXJwcmV0ZXIgPSBnbG9i
YWxEYXRhKCktPmludGVycHJldGVyOworICAgIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbnNCZWdp
biA9IGluc3RydWN0aW9ucygpLmJlZ2luKCk7CisgICAgdW5zaWduZWQgaW5zdHJ1Y3Rpb25Db3Vu
dCA9IGluc3RydWN0aW9ucygpLnNpemUoKTsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0ID0gMDsgYnl0ZWNvZGVPZmZzZXQgPCBpbnN0cnVjdGlvbkNvdW50OyApIHsKKyAg
ICAgICAgc3dpdGNoIChpbnRlcnByZXRlci0+Z2V0T3Bjb2RlSUQoaW5zdHJ1Y3Rpb25zQmVnaW5b
Ynl0ZWNvZGVPZmZzZXRdLnUub3Bjb2RlKSkgeworI2RlZmluZSBERUZJTkVfT1AoY3VyT3Bjb2Rl
LCBsZW5ndGgpICAgICAgICBcCisgICAgICAgIGNhc2UgY3VyT3Bjb2RlOiAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgICAgICAgIGlmIChjdXJPcGNvZGUgPT0gb3Bjb2RlSUQpICAgICAgXAor
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgICAgICAgICBcCisgICAgICAgICAg
ICBieXRlY29kZU9mZnNldCArPSBsZW5ndGg7ICAgICAgIFwKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgRk9SX0VBQ0hfT1BDT0RFX0lEKERFRklORV9PUCkKKyN1bmRlZiBERUZJTkVf
T1AKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZh
bHNlOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAkocmV2aXNpb24gOTgyOTkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM5MCw2ICszOTAsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFZlY3RvcjxJbnN0cnVj
dGlvbj4mIGluc3RydWN0aW9ucygpIHsgcmV0dXJuIG1faW5zdHJ1Y3Rpb25zOyB9CiAgICAgICAg
IHZvaWQgZGlzY2FyZEJ5dGVjb2RlKCkgeyBtX2luc3RydWN0aW9ucy5jbGVhcigpOyB9CiAKKyNp
Zm5kZWYgTkRFQlVHCisgICAgICAgIGJvb2wgdXNlc09wY29kZShPcGNvZGVJRCBvcGNvZGVJRCk7
CisjZW5kaWYKKwogICAgICAgICB1bnNpZ25lZCBpbnN0cnVjdGlvbkNvdW50KCkgeyByZXR1cm4g
bV9pbnN0cnVjdGlvbkNvdW50OyB9CiAgICAgICAgIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Db3VudCh1
bnNpZ25lZCBpbnN0cnVjdGlvbkNvdW50KSB7IG1faW5zdHJ1Y3Rpb25Db3VudCA9IGluc3RydWN0
aW9uQ291bnQ7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJ
KHJldmlzaW9uIDk4Mjk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMiw2ICsyMjIsMTggQEAgdm9pZCBHcmFwaDo6ZHVtcChO
b2RlSW5kZXggbm9kZUluZGV4LCBDbwogICAgICAgICAgICAgcHJpbnRmKCIlc3IldSglcykiLCBo
YXNQcmludGVkID8gIiwgIiA6ICIiLCBvcGVyYW5kLCBuYW1lT2ZWYXJpYWJsZUFjY2Vzc0RhdGEo
dmFyaWFibGVBY2Nlc3NEYXRhKSk7CiAgICAgICAgIGhhc1ByaW50ZWQgPSB0cnVlOwogICAgIH0K
KyAgICBpZiAobm9kZS5oYXNDb25zdGFudEJ1ZmZlcigpICYmIGNvZGVCbG9jaykgeworICAgICAg
ICBpZiAoaGFzUHJpbnRlZCkKKyAgICAgICAgICAgIHByaW50ZigiLCAiKTsKKyAgICAgICAgcHJp
bnRmKCIldTpbIiwgbm9kZS5zdGFydENvbnN0YW50KCkpOworICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbm9kZS5udW1Db25zdGFudHMoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAo
aSkKKyAgICAgICAgICAgICAgICBwcmludGYoIiwgIik7CisgICAgICAgICAgICBwcmludGYoIiVz
IiwgY29kZUJsb2NrLT5jb25zdGFudEJ1ZmZlcihub2RlLnN0YXJ0Q29uc3RhbnQoKSlbaV0uZGVz
Y3JpcHRpb24oKSk7CisgICAgICAgIH0KKyAgICAgICAgcHJpbnRmKCJdIik7CisgICAgICAgIGhh
c1ByaW50ZWQgPSB0cnVlOworICAgIH0KICAgICBpZiAob3AgPT0gSlNDb25zdGFudCkgewogICAg
ICAgICBwcmludGYoIiVzJCV1IiwgaGFzUHJpbnRlZCA/ICIsICIgOiAiIiwgbm9kZS5jb25zdGFu
dE51bWJlcigpKTsKICAgICAgICAgaWYgKGNvZGVCbG9jaykgewo=
</data>
<flag name="review"
          id="110478"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112409</attachid>
            <date>2011-10-25 14:53:06 -0700</date>
            <delta_ts>2011-10-25 14:53:16 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixconstbuffer_patch_2.diff</filename>
            <type>text/plain</type>
            <size>4586</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTgzOTcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTEtMTAtMjUgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBU
aWVyZWQgY29tcGlsYXRpb24gbWF5IGludHJvZHVjZSBkYW5nbGluZyBwb2ludGVycyBpbiBjb25z
dGFudCBidWZmZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MDg1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgorICAgICAgICAK
KyAgICAgICAgVGllcmVkIGNvbXBpbGF0aW9uIG5vdyBjb3BpZXMgY29uc3RhbnQgYnVmZmVycywg
d2hpY2ggZml4ZXMgdGhlIHJlZ3Jlc3Npb24gaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ2LiBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGlzCisg
ICAgICAgIHJlZ3Jlc3Npb24gcmVsaWVzIG9uIGEgc3VidGxlIGludGVybGVhdmluZyBvZiBvcHRp
bWl6ZWQgY29tcGlsYXRpb24gYW5kIGdhcmJhZ2UKKyAgICAgICAgY29sbGVjdGlvbiwgYW5kIGNh
bm5vdCBiZSByZXByb2R1Y2VkIGluIGEgc2ltcGxlIHRlc3QuCisgICAgICAgIAorICAgICAgICBU
aGlzIGFsc28gYWRkcyBzb21lIG5ldyBkZWJ1ZyBzdXBwb3J0LCB3aGljaCB3YXMgdXNlZCB0byBm
aXggdGhpcyBidWcgYW5kIGlzCisgICAgICAgIGxpa2VseSB0byBiZSB1c2VmdWwgaW4gdGhlIGZ1
dHVyZS4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6
OkNvZGVCbG9jazo6Y29weURhdGFGcm9tKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjp1c2Vz
T3Bjb2RlKToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKiBkZmcv
REZHR3JhcGguY3BwOgorICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjpkdW1wKToKKwogMjAxMS0x
MC0yNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAgICAgICAg
IEZpeGluZyBXaW5kb3dzIGJ1aWxkIGFmdGVyIHI5ODM2NwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDk4Mzk3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE4MjgsNiArMTgyOCw4IEBAIHZvaWQgQ29kZUJsb2NrOjpjb3B5RGF0YUZyb20oQ29kZUJs
b2NrKiAKICAgICByZXBsYWNlRXhpc3RpbmdFbnRyaWVzKG1fY29uc3RhbnRSZWdpc3RlcnMsIGFs
dGVybmF0aXZlLT5tX2NvbnN0YW50UmVnaXN0ZXJzKTsKICAgICByZXBsYWNlRXhpc3RpbmdFbnRy
aWVzKG1fZnVuY3Rpb25EZWNscywgYWx0ZXJuYXRpdmUtPm1fZnVuY3Rpb25EZWNscyk7CiAgICAg
cmVwbGFjZUV4aXN0aW5nRW50cmllcyhtX2Z1bmN0aW9uRXhwcnMsIGFsdGVybmF0aXZlLT5tX2Z1
bmN0aW9uRXhwcnMpOworICAgIGlmICghIW1fcmFyZURhdGEgJiYgISFhbHRlcm5hdGl2ZS0+bV9y
YXJlRGF0YSkKKyAgICAgICAgcmVwbGFjZUV4aXN0aW5nRW50cmllcyhtX3JhcmVEYXRhLT5tX2Nv
bnN0YW50QnVmZmVycywgYWx0ZXJuYXRpdmUtPm1fcmFyZURhdGEtPm1fY29uc3RhbnRCdWZmZXJz
KTsKIH0KIAogdm9pZCBDb2RlQmxvY2s6OmNvcHlEYXRhRnJvbUFsdGVybmF0aXZlKCkKQEAgLTIw
MDIsNCArMjAwNCwzMSBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcFZhbHVlUHJvZmlsZXMoKQogfQog
I2VuZGlmCiAKKyNpZm5kZWYgTkRFQlVHCitib29sIENvZGVCbG9jazo6dXNlc09wY29kZShPcGNv
ZGVJRCBvcGNvZGVJRCkKK3sKKyAgICBJbnRlcnByZXRlciogaW50ZXJwcmV0ZXIgPSBnbG9iYWxE
YXRhKCktPmludGVycHJldGVyOworICAgIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbnNCZWdpbiA9
IGluc3RydWN0aW9ucygpLmJlZ2luKCk7CisgICAgdW5zaWduZWQgaW5zdHJ1Y3Rpb25Db3VudCA9
IGluc3RydWN0aW9ucygpLnNpemUoKTsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVkIGJ5dGVjb2Rl
T2Zmc2V0ID0gMDsgYnl0ZWNvZGVPZmZzZXQgPCBpbnN0cnVjdGlvbkNvdW50OyApIHsKKyAgICAg
ICAgc3dpdGNoIChpbnRlcnByZXRlci0+Z2V0T3Bjb2RlSUQoaW5zdHJ1Y3Rpb25zQmVnaW5bYnl0
ZWNvZGVPZmZzZXRdLnUub3Bjb2RlKSkgeworI2RlZmluZSBERUZJTkVfT1AoY3VyT3Bjb2RlLCBs
ZW5ndGgpICAgICAgICBcCisgICAgICAgIGNhc2UgY3VyT3Bjb2RlOiAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgICAgIGlmIChjdXJPcGNvZGUgPT0gb3Bjb2RlSUQpICAgICAgXAorICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBi
eXRlY29kZU9mZnNldCArPSBsZW5ndGg7ICAgICAgIFwKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgRk9SX0VBQ0hfT1BDT0RFX0lEKERFRklORV9PUCkKKyN1bmRlZiBERUZJTkVfT1AK
KyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZhbHNl
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAkocmV2aXNpb24gOTgzOTcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5
MCw2ICszOTAsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFZlY3RvcjxJbnN0cnVjdGlv
bj4mIGluc3RydWN0aW9ucygpIHsgcmV0dXJuIG1faW5zdHJ1Y3Rpb25zOyB9CiAgICAgICAgIHZv
aWQgZGlzY2FyZEJ5dGVjb2RlKCkgeyBtX2luc3RydWN0aW9ucy5jbGVhcigpOyB9CiAKKyNpZm5k
ZWYgTkRFQlVHCisgICAgICAgIGJvb2wgdXNlc09wY29kZShPcGNvZGVJRCk7CisjZW5kaWYKKwog
ICAgICAgICB1bnNpZ25lZCBpbnN0cnVjdGlvbkNvdW50KCkgeyByZXR1cm4gbV9pbnN0cnVjdGlv
bkNvdW50OyB9CiAgICAgICAgIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Db3VudCh1bnNpZ25lZCBpbnN0
cnVjdGlvbkNvdW50KSB7IG1faW5zdHJ1Y3Rpb25Db3VudCA9IGluc3RydWN0aW9uQ291bnQ7IH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDk4
Mzk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIyMiw2ICsyMjIsMTggQEAgdm9pZCBHcmFwaDo6ZHVtcChOb2RlSW5kZXggbm9k
ZUluZGV4LCBDbwogICAgICAgICAgICAgcHJpbnRmKCIlc3IldSglcykiLCBoYXNQcmludGVkID8g
IiwgIiA6ICIiLCBvcGVyYW5kLCBuYW1lT2ZWYXJpYWJsZUFjY2Vzc0RhdGEodmFyaWFibGVBY2Nl
c3NEYXRhKSk7CiAgICAgICAgIGhhc1ByaW50ZWQgPSB0cnVlOwogICAgIH0KKyAgICBpZiAobm9k
ZS5oYXNDb25zdGFudEJ1ZmZlcigpICYmIGNvZGVCbG9jaykgeworICAgICAgICBpZiAoaGFzUHJp
bnRlZCkKKyAgICAgICAgICAgIHByaW50ZigiLCAiKTsKKyAgICAgICAgcHJpbnRmKCIldTpbIiwg
bm9kZS5zdGFydENvbnN0YW50KCkpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bm9kZS5udW1Db25zdGFudHMoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAoaSkKKyAgICAgICAg
ICAgICAgICBwcmludGYoIiwgIik7CisgICAgICAgICAgICBwcmludGYoIiVzIiwgY29kZUJsb2Nr
LT5jb25zdGFudEJ1ZmZlcihub2RlLnN0YXJ0Q29uc3RhbnQoKSlbaV0uZGVzY3JpcHRpb24oKSk7
CisgICAgICAgIH0KKyAgICAgICAgcHJpbnRmKCJdIik7CisgICAgICAgIGhhc1ByaW50ZWQgPSB0
cnVlOworICAgIH0KICAgICBpZiAob3AgPT0gSlNDb25zdGFudCkgewogICAgICAgICBwcmludGYo
IiVzJCV1IiwgaGFzUHJpbnRlZCA/ICIsICIgOiAiIiwgbm9kZS5jb25zdGFudE51bWJlcigpKTsK
ICAgICAgICAgaWYgKGNvZGVCbG9jaykgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>