<?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>50588</bug_id>
          
          <creation_ts>2010-12-06 14:17:17 -0800</creation_ts>
          <short_desc>reserveAndCommit doesn&apos;t commit on MADVISE_FREE_REUSE systems</short_desc>
          <delta_ts>2010-12-06 15:14:22 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>317839</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-12-06 14:17:17 -0800</bug_when>
    <thetext>reserveAndCommit doesn&apos;t commit on MADVISE_FREE_REUSE systems</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317841</commentid>
    <comment_count>1</comment_count>
      <attachid>75734</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-12-06 14:18:51 -0800</bug_when>
    <thetext>Created attachment 75734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317842</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-12-06 14:20:05 -0800</bug_when>
    <thetext>Ignore that WebKitTools change -- it&apos;s a webkit-patch artifact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317850</commentid>
    <comment_count>3</comment_count>
      <attachid>75734</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-12-06 14:35:49 -0800</bug_when>
    <thetext>Comment on attachment 75734
Patch

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

Looks good. See two comments inline. Make sure to dro the DumpRenderTree changes and it&apos;s r=me.

&gt; JavaScriptCore/wtf/OSAllocatorPosix.cpp:43
&gt; +    // MADV_FREE_REUSE reservations start out in the MADV_FREE_REUSE state, but
&gt; +    // the reserve() API promises something in the MADV_FREE_REUSABLE state.

This comment confuses me. I guess there is a relevant difference between FREE_REUSE and FREE_REUSABLE which should be highlighted here, but it&apos;s not explained. May want to tweak it.

&gt; WebKitTools/DumpRenderTree/mac/DumpRenderTree.mm:-353
&gt; -    // maps expected result &lt;= JavaScript expression
&gt; -    NSDictionary *expressions = [NSDictionary dictionaryWithObjectsAndKeys:
&gt; -        @&quot;0&quot;, @&quot;0&quot;, 
&gt; -        @&quot;0&quot;, @&quot;&apos;0&apos;&quot;, 
&gt; -        @&quot;&quot;, @&quot;&quot;,
&gt; -        @&quot;&quot;, @&quot;&apos;&apos;&quot;, 
&gt; -        @&quot;&quot;, @&quot;new String()&quot;, 
&gt; -        @&quot;&quot;, @&quot;new String(&apos;0&apos;)&quot;, 
&gt; -        @&quot;&quot;, @&quot;throw 1&quot;, 
&gt; -        @&quot;&quot;, @&quot;{ }&quot;, 
&gt; -        @&quot;&quot;, @&quot;[ ]&quot;, 
&gt; -        @&quot;&quot;, @&quot;//&quot;, 
&gt; -        @&quot;&quot;, @&quot;a.b.c&quot;, 
&gt; -        @&quot;&quot;, @&quot;(function() { throw &apos;error&apos;; })()&quot;, 
&gt; -        @&quot;&quot;, @&quot;null&quot;,
&gt; -        @&quot;&quot;, @&quot;undefined&quot;,
&gt; -        @&quot;true&quot;, @&quot;true&quot;,
&gt; -        @&quot;false&quot;, @&quot;false&quot;,
&gt; -        nil
&gt; -    ];
&gt; -
&gt; -    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

I don&apos;t think this, or the other DumpRenderTree changes, were intended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317866</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2010-12-06 15:14:22 -0800</bug_when>
    <thetext>Committed revision 73405.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75734</attachid>
            <date>2010-12-06 14:18:51 -0800</date>
            <delta_ts>2010-12-06 14:35:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50588-20101206141849.patch</filename>
            <type>text/plain</type>
            <size>5490</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDczNDAwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMTItMDYgIEdlb2ZmcmV5
IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICByZXNlcnZlQW5kQ29tbWl0IGRvZXNuJ3QgY29tbWl0IG9uIE1B
RFZJU0VfRlJFRV9SRVVTRSBzeXN0ZW1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MDU4OAorICAgICAgICAKKyAgICAgICAgKiB3dGYvT1NBbGxvY2F0
b3JQb3NpeC5jcHA6CisgICAgICAgIChXVEY6Ok9TQWxsb2NhdG9yOjpyZXNlcnZlKToKKyAgICAg
ICAgKFdURjo6T1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21taXQpOgorICAgICAgICAoV1RGOjpP
U0FsbG9jYXRvcjo6Y29tbWl0KTogVGlnaHRlbmVkIHVwIHNvbWUgY29tbWVudHMuIENoYW5nZWQK
KyAgICAgICAgcmVzZXJ2ZUFuZENvbW1pdCB0byBhY3R1YWxseSBjb21taXQgb24gTUFEVklTRV9G
UkVFX1JFVVNFIHN5c3RlbXMuCisKIDIwMTAtMTItMDYgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFy
b2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5k
ZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi9PU0FsbG9jYXRvclBvc2l4LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxvY2F0b3JQb3NpeC5jcHAJKHJldmlzaW9uIDczMjc0
KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSwxMSArMzUsMTIgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHZvaWQqIE9TQWxsb2Nh
dG9yOjpyZXNlcnZlKHNpemVfdCBieXRlcykKIHsKLSAgICAvLyBGcm9tIGEgYm9va2tlZXBpbmcg
cGVyc3BlY3RpdmUsIFBPU0lYIHJlc2VydmF0aW9ucyBzdGFydCBvdXQgaW4gdGhlIGNvbW1pdHRl
ZCBzdGF0ZS4KICAgICB2b2lkKiByZXN1bHQgPSBtbWFwKDAsIGJ5dGVzLCBQUk9UX1JFQUQgfCBQ
Uk9UX1dSSVRFLCBNQVBfUFJJVkFURSB8IE1BUF9BTk9OLCAtMSwgMCk7CiAgICAgaWYgKHJlc3Vs
dCA9PSBNQVBfRkFJTEVEKQogICAgICAgICBDUkFTSCgpOwogI2lmIEhBVkUoTUFEVl9GUkVFX1JF
VVNFKQorICAgIC8vIE1BRFZfRlJFRV9SRVVTRSByZXNlcnZhdGlvbnMgc3RhcnQgb3V0IGluIHRo
ZSBNQURWX0ZSRUVfUkVVU0Ugc3RhdGUsIGJ1dAorICAgIC8vIHRoZSByZXNlcnZlKCkgQVBJIHBy
b21pc2VzIHNvbWV0aGluZyBpbiB0aGUgTUFEVl9GUkVFX1JFVVNBQkxFIHN0YXRlLgogICAgIHdo
aWxlIChtYWR2aXNlKHJlc3VsdCwgYnl0ZXMsIE1BRFZfRlJFRV9SRVVTQUJMRSkgPT0gLTEgJiYg
ZXJybm8gPT0gRUFHQUlOKSB7IH0KICNlbmRpZgogICAgIHJldHVybiByZXN1bHQ7CkBAIC00Nyw4
ICs0OCwxMSBAQCB2b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZShzaXplX3QgYnl0ZXMpCiAKIHZv
aWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcykKIHsKLSAgICAv
LyBGcm9tIGEgYm9va2tlZXBpbmcgcGVyc3BlY3RpdmUsIFBPU0lYIHJlc2VydmF0aW9ucyBzdGFy
dCBvdXQgaW4gdGhlIGNvbW1pdHRlZCBzdGF0ZS4KLSAgICByZXR1cm4gcmVzZXJ2ZShieXRlcyk7
CisgICAgLy8gQWxsIFBPU0lYIHJlc2VydmF0aW9ucyBzdGFydCBvdXQgaW4gdGhlIGNvbW1pdHRl
ZCBzdGF0ZS4KKyAgICB2b2lkKiByZXN1bHQgPSBtbWFwKDAsIGJ5dGVzLCBQUk9UX1JFQUQgfCBQ
Uk9UX1dSSVRFLCBNQVBfUFJJVkFURSB8IE1BUF9BTk9OLCAtMSwgMCk7CisgICAgaWYgKHJlc3Vs
dCA9PSBNQVBfRkFJTEVEKQorICAgICAgICBDUkFTSCgpOworICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKIHZvaWQgT1NBbGxvY2F0b3I6OmNvbW1pdCh2b2lkKiBhZGRyZXNzLCBzaXplX3QgYnl0ZXMp
CkBAIC01Niw2ICs2MCw3IEBAIHZvaWQgT1NBbGxvY2F0b3I6OmNvbW1pdCh2b2lkKiBhZGRyZXNz
LCAKICNpZiBIQVZFKE1BRFZfRlJFRV9SRVVTRSkKICAgICB3aGlsZSAobWFkdmlzZShhZGRyZXNz
LCBieXRlcywgTUFEVl9GUkVFX1JFVVNFKSA9PSAtMSAmJiBlcnJubyA9PSBFQUdBSU4pIHsgfQog
I2Vsc2UKKyAgICAvLyBOb24tTUFEVl9GUkVFX1JFVVNFIHJlc2VydmF0aW9ucyBhdXRvbWF0aWNh
bGx5IGNvbW1pdCBvbiBkZW1hbmQuCiAgICAgVU5VU0VEX1BBUkFNKGFkZHJlc3MpOwogICAgIFVO
VVNFRF9QQVJBTShieXRlcyk7CiAjZW5kaWYKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDczMjc0KQorKysgV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjksNDEgKzMyOSwxMiBAQCBXZWJWaWV3ICpjcmVhdGVXZWJWaWV3QW5kT2Zmc2Ny
ZWVuV2luZG93CiAKIHZvaWQgdGVzdFN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHRGcm9tU3Ry
aW5nKCkKIHsKLSAgICAvLyBtYXBzIGV4cGVjdGVkIHJlc3VsdCA8PSBKYXZhU2NyaXB0IGV4cHJl
c3Npb24KLSAgICBOU0RpY3Rpb25hcnkgKmV4cHJlc3Npb25zID0gW05TRGljdGlvbmFyeSBkaWN0
aW9uYXJ5V2l0aE9iamVjdHNBbmRLZXlzOgotICAgICAgICBAIjAiLCBAIjAiLCAKLSAgICAgICAg
QCIwIiwgQCInMCciLCAKLSAgICAgICAgQCIiLCBAIiIsCi0gICAgICAgIEAiIiwgQCInJyIsIAot
ICAgICAgICBAIiIsIEAibmV3IFN0cmluZygpIiwgCi0gICAgICAgIEAiIiwgQCJuZXcgU3RyaW5n
KCcwJykiLCAKLSAgICAgICAgQCIiLCBAInRocm93IDEiLCAKLSAgICAgICAgQCIiLCBAInsgfSIs
IAotICAgICAgICBAIiIsIEAiWyBdIiwgCi0gICAgICAgIEAiIiwgQCIvLyIsIAotICAgICAgICBA
IiIsIEAiYS5iLmMiLCAKLSAgICAgICAgQCIiLCBAIihmdW5jdGlvbigpIHsgdGhyb3cgJ2Vycm9y
JzsgfSkoKSIsIAotICAgICAgICBAIiIsIEAibnVsbCIsCi0gICAgICAgIEAiIiwgQCJ1bmRlZmlu
ZWQiLAotICAgICAgICBAInRydWUiLCBAInRydWUiLAotICAgICAgICBAImZhbHNlIiwgQCJmYWxz
ZSIsCi0gICAgICAgIG5pbAotICAgIF07Ci0KLSAgICBOU0F1dG9yZWxlYXNlUG9vbCAqcG9vbCA9
IFtbTlNBdXRvcmVsZWFzZVBvb2wgYWxsb2NdIGluaXRdOworICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgMTA7ICsraSkgewogICAgIFdlYlZpZXcgKndlYlZpZXcgPSBbW1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBmcmFtZU5hbWU6QCIiIGdyb3VwTmFtZTpAIiJdOwogCi0g
ICAgTlNFbnVtZXJhdG9yICplbnVtZXJhdG9yID0gW2V4cHJlc3Npb25zIGtleUVudW1lcmF0b3Jd
OwotICAgIGlkIGV4cHJlc3Npb247Ci0gICAgd2hpbGUgKChleHByZXNzaW9uID0gW2VudW1lcmF0
b3IgbmV4dE9iamVjdF0pKSB7Ci0gICAgICAgIE5TU3RyaW5nICpleHBlY3RlZFJlc3VsdCA9IFtl
eHByZXNzaW9ucyBvYmplY3RGb3JLZXk6ZXhwcmVzc2lvbl07Ci0gICAgICAgIE5TU3RyaW5nICpy
ZXN1bHQgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZzpl
eHByZXNzaW9uXTsKLSAgICAgICAgYXNzZXJ0KFtyZXN1bHQgaXNFcXVhbFRvU3RyaW5nOmV4cGVj
dGVkUmVzdWx0XSk7Ci0gICAgfQotCiAgICAgW3dlYlZpZXcgY2xvc2VdOwogICAgIFt3ZWJWaWV3
IHJlbGVhc2VdOwotICAgIFtwb29sIHJlbGVhc2VdOworICAgIH0KIH0KIAogc3RhdGljIE5TU3Ry
aW5nICpsaWJyYXJ5UGF0aEZvckR1bXBSZW5kZXJUcmVlKCkKQEAgLTQ4MiwzMSArNDUzLDYgQEAg
c3RhdGljIHZvaWQgc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZQogCiB9CiAKLXN0YXRpYyB2
b2lkKiBydW5UaHJlYWQodm9pZCogYXJnKQotewotICAgIHN0YXRpYyBUaHJlYWRJZGVudGlmaWVy
IHByZXZpb3VzSWQgPSAwOwotICAgIFRocmVhZElkZW50aWZpZXIgY3VycmVudElkID0gY3VycmVu
dFRocmVhZCgpOwotICAgIC8vIFZlcmlmeSAyIHN1Y2Nlc3NpdmUgdGhyZWFkcyBkbyBub3QgZ2V0
IHRoZSBzYW1lIElkLgotICAgIEFTU0VSVChwcmV2aW91c0lkICE9IGN1cnJlbnRJZCk7Ci0gICAg
cHJldmlvdXNJZCA9IGN1cnJlbnRJZDsKLSAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQg
dGVzdFRocmVhZElkZW50aWZpZXJNYXAoKQotewotICAgIC8vIEltaXRhdGUgJ2ZvcmVpZ24nIHRo
cmVhZHMgdGhhdCBhcmUgbm90IGNyZWF0ZWQgYnkgV1RGLgotICAgIHB0aHJlYWRfdCBwdGhyZWFk
OwotICAgIHB0aHJlYWRfY3JlYXRlKCZwdGhyZWFkLCAwLCAmcnVuVGhyZWFkLCAwKTsKLSAgICBw
dGhyZWFkX2pvaW4ocHRocmVhZCwgMCk7Ci0KLSAgICBwdGhyZWFkX2NyZWF0ZSgmcHRocmVhZCwg
MCwgJnJ1blRocmVhZCwgMCk7Ci0gICAgcHRocmVhZF9qb2luKHB0aHJlYWQsIDApOwotCi0gICAg
Ly8gTm93IGNyZWF0ZSBhbm90aGVyIHRocmVhZCB1c2luZyBXVEYuIE9uIE9TWCwgaXQgd2lsbCBo
YXZlIHRoZSBzYW1lIHB0aHJlYWQgaGFuZGxlCi0gICAgLy8gYnV0IHNob3VsZCBnZXQgYSBkaWZm
ZXJlbnQgVGhyZWFkSWRlbnRpZmllci4KLSAgICBjcmVhdGVUaHJlYWQocnVuVGhyZWFkLCAwLCAi
RHVtcFJlbmRlclRyZWU6IHRlc3QiKTsKLX0KLQogc3RhdGljIHZvaWQgY3Jhc2hIYW5kbGVyKGlu
dCBzaWcpCiB7CiAgICAgY2hhciAqc2lnbmFsTmFtZSA9IHN0cnNpZ25hbChzaWcpOwpAQCAtNjUy
LDEyICs1OTgsNiBAQCB2b2lkIGR1bXBSZW5kZXJUcmVlKGludCBhcmdjLCBjb25zdCBjaGFyCiAg
ICAgW05TVVJMUmVxdWVzdCBzZXRBbGxvd3NBbnlIVFRQU0NlcnRpZmljYXRlOllFUyBmb3JIb3N0
OkAibG9jYWxob3N0Il07CiAgICAgW05TVVJMUmVxdWVzdCBzZXRBbGxvd3NBbnlIVFRQU0NlcnRp
ZmljYXRlOllFUyBmb3JIb3N0OkAiMTI3LjAuMC4xIl07CiAKLSAgICAvLyA8cmRhcjovL3Byb2Js
ZW0vNTIyMjkxMT4KLSAgICB0ZXN0U3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdEZyb21TdHJp
bmcoKTsKLQotICAgIC8vIGh0dHA6Ly93ZWJraXQub3JnL2IvMzI2ODkKLSAgICB0ZXN0VGhyZWFk
SWRlbnRpZmllck1hcCgpOwotCiAgICAgaWYgKHRocmVhZGVkKQogICAgICAgICBzdGFydEphdmFT
Y3JpcHRUaHJlYWRzKCk7CiAK
</data>
<flag name="review"
          id="66560"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>