<?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>76724</bug_id>
          
          <creation_ts>2012-01-20 12:05:40 -0800</creation_ts>
          <short_desc>ENABLE(ASSEMBLER_WX_EXCLUSIVE): LinkBuffer can leave pages not marked as executable.</short_desc>
          <delta_ts>2012-02-10 15:02:20 -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>Other</rep_platform>
          <op_sys>Other</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>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yong Li">yong.li.webkit</reporter>
          <assigned_to name="Yong Li">yong.li.webkit</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>539675</commentid>
    <comment_count>0</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-01-20 12:05:40 -0800</bug_when>
    <thetext>MetaAllocator breaks ENABLE(ASSEMBLER_WX_EXCLUSIVE) because the flags can only be applied to whole pages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539684</commentid>
    <comment_count>1</comment_count>
      <attachid>123353</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-01-20 12:11:59 -0800</bug_when>
    <thetext>Created attachment 123353
workaround</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539710</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-01-20 12:34:37 -0800</bug_when>
    <thetext>Do any platforms still use WX_EXCLUSIVE?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539731</commentid>
    <comment_count>3</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-01-20 13:01:05 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Do any platforms still use WX_EXCLUSIVE?

Yes BlackBerry/QNX uses it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539744</commentid>
    <comment_count>4</comment_count>
      <attachid>123353</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-01-20 13:16:45 -0800</bug_when>
    <thetext>Comment on attachment 123353
workaround

I guess I&apos;ll say r+ to unbreak that platform. But you&apos;re going to get really bad memory use if every JS function is 1 page at minimum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539745</commentid>
    <comment_count>5</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-01-20 13:19:05 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 123353 [details])
&gt; I guess I&apos;ll say r+ to unbreak that platform. But you&apos;re going to get really bad memory use if every JS function is 1 page at minimum.

Thanks. I&apos;ll try to think about some other solution...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553207</commentid>
    <comment_count>6</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-02-09 08:57:43 -0800</bug_when>
    <thetext>Found a bug in LinkedBuffer. The size used to call makeExecutable can be smaller than the one that was used for makeWritable. So it can leave pages that are not set back to default flags. When an assembly on that page is executed or JIT returns to that page in the case it was already executing that page, the software will crash.

Patch is on the way.

But I&apos;m not sure MetaAllocator is safe with ENABLE(ASSEMBLER_WX_EXCLUSIVE) even with this fix. Geoffrey, do you see potential problems with MetaAllocator + ENABLE(ASSEMBLER_WX_EXCLUSIVE) + Workers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553210</commentid>
    <comment_count>7</comment_count>
      <attachid>126314</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-02-09 09:02:35 -0800</bug_when>
    <thetext>Created attachment 126314
the patch that fixes LinkBuffer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553287</commentid>
    <comment_count>8</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-02-09 10:28:23 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Found a bug in LinkedBuffer. The size used to call makeExecutable can be smaller than the one that was used for makeWritable. So it can leave pages that are not set back to default flags. When an assembly on that page is executed or JIT returns to that page in the case it was already executing that page, the software will crash.
&gt; 
&gt; Patch is on the way.
&gt; 
&gt; But I&apos;m not sure MetaAllocator is safe with ENABLE(ASSEMBLER_WX_EXCLUSIVE) even with this fix. Geoffrey, do you see potential problems with MetaAllocator + ENABLE(ASSEMBLER_WX_EXCLUSIVE) + Workers?

never mind. worker should OK because worker uses its own global object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554152</commentid>
    <comment_count>9</comment_count>
      <attachid>123353</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-10 10:19:07 -0800</bug_when>
    <thetext>Comment on attachment 123353
workaround

Cleared Geoffrey Garen&apos;s review+ from obsolete attachment 123353 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554218</commentid>
    <comment_count>10</comment_count>
      <attachid>126314</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-02-10 10:59:14 -0800</bug_when>
    <thetext>Comment on attachment 126314
the patch that fixes LinkBuffer

r- because it is fine for ENABLE(BRANCH_COMPACTION), but not the other case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554219</commentid>
    <comment_count>11</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-02-10 11:00:29 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 126314 [details])
&gt; r- because it is fine for ENABLE(BRANCH_COMPACTION), but not the other case.

Good catch! it would cause problem when !ENABLE(BRANCH_COMPACTION) &amp;&amp; ENABLE(ASSEMBLER_WX_EXCLUSIVE)...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554223</commentid>
    <comment_count>12</comment_count>
      <attachid>126537</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-02-10 11:07:45 -0800</bug_when>
    <thetext>Created attachment 126537
Updated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554226</commentid>
    <comment_count>13</comment_count>
      <attachid>126537</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-02-10 11:11:03 -0800</bug_when>
    <thetext>Comment on attachment 126537
Updated

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554416</commentid>
    <comment_count>14</comment_count>
      <attachid>126537</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-10 15:02:15 -0800</bug_when>
    <thetext>Comment on attachment 126537
Updated

Clearing flags on attachment: 126537

Committed r107447: &lt;http://trac.webkit.org/changeset/107447&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554417</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-10 15:02:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123353</attachid>
            <date>2012-01-20 12:11:59 -0800</date>
            <delta_ts>2012-02-10 10:19:07 -0800</delta_ts>
            <desc>workaround</desc>
            <filename>76724.patch</filename>
            <type>text/plain</type>
            <size>2458</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDA5ZGNlYTUuLjk4NDBlYjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAxLTIwICBZb25nIExpICA8eW9s
aUByaW0uY29tPgorCisgICAgICAgIE1ldGFBbGxvY2F0b3IgY29uZmxpY3RzIHdpdGggRU5BQkxF
KEFTU0VNQkxFUl9XWF9FWENMVVNJVkUpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MjQKKworICAgICAgICBBZGQgYSB3b3JrYXJvdW5kIHRvIG1h
a2UgaXQgd29yay4gTm8gbmV3IHRlc3RzIGJlY2F1c2UgZXhpc3RpbmcKKyAgICAgICAgdGVzdHMg
aXMgbW9yZSB0aGFuIGVub3VnaCB0byBtYWtlIGl0IGNyYXNoLgorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6RGVtYW5kRXhlY3V0YWJsZUFsbG9jYXRvcjo6RGVtYW5kRXhlY3V0
YWJsZUFsbG9jYXRvcik6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZN
UG9vbC5jcHA6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcjo6
Rml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yKToKKwogMjAxMi0wMS0yMCAgQ2hhbmdTZW9r
IE9oICA8c2hpdmFtaWRvd0BnbWFpbC5jb20+CiAKICAgICAgICAgdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBzeW1ib2wgZWluYV9tb2R1bGVfZnJlZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5jcHAKaW5kZXggODJjMTQ5ZDAuLmMyZWI3MzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNw
cApAQCAtNDQsNyArNDQsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBEZW1hbmRFeGVjdXRh
YmxlQWxsb2NhdG9yIDogcHVibGljIE1ldGFBbGxvY2F0b3IgewogcHVibGljOgogICAgIERlbWFu
ZEV4ZWN1dGFibGVBbGxvY2F0b3IoKQorI2lmIEVOQUJMRShBU1NFTUJMRVJfV1hfRVhDTFVTSVZF
KQorICAgICAgICAvLyBGSVhNRTogVGhpcyBhbG1vc3QgbG9zZXMgYWxsIHRoZSBiZW5lZml0IE1l
dGFBbGxvY2F0b3IgZ2l2ZXMuCisgICAgICAgIDogTWV0YUFsbG9jYXRvcihwYWdlU2l6ZSgpKQor
I2Vsc2UKICAgICAgICAgOiBNZXRhQWxsb2NhdG9yKDMyKSAvLyByb3VuZCB1cCBhbGwgYWxsb2Nh
dGlvbnMgdG8gMzIgYnl0ZXMKKyNlbmRpZgogICAgIHsKICAgICAgICAgLy8gRG9uJ3QgcHJlYWxs
b2NhdGUgYW55IG1lbW9yeSBoZXJlLgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcAppbmRl
eCAzNzcxYzc0Li44NjQ2NTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwCkBAIC01Niw3ICs1
NiwxMiBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IGZpeGVkUG9vbFNpemUgPSAzMiAqIDEwMjQgKiAx
MDI0OwogY2xhc3MgRml4ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yIDogcHVibGljIE1ldGFB
bGxvY2F0b3IgewogcHVibGljOgogICAgIEZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvcigp
CisjaWYgRU5BQkxFKEFTU0VNQkxFUl9XWF9FWENMVVNJVkUpCisgICAgICAgIC8vIEZJWE1FOiBU
aGlzIGFsbW9zdCBsb3NlcyBhbGwgdGhlIGJlbmVmaXQgTWV0YUFsbG9jYXRvciBnaXZlcy4KKyAg
ICAgICAgOiBNZXRhQWxsb2NhdG9yKHBhZ2VTaXplKCkpCisjZWxzZQogICAgICAgICA6IE1ldGFB
bGxvY2F0b3IoMzIpIC8vIHJvdW5kIHVwIGFsbCBhbGxvY2F0aW9ucyB0byAzMiBieXRlcworI2Vu
ZGlmCiAgICAgewogICAgICAgICBtX3Jlc2VydmF0aW9uID0gUGFnZVJlc2VydmF0aW9uOjpyZXNl
cnZlV2l0aEd1YXJkUGFnZXMoZml4ZWRQb29sU2l6ZSwgT1NBbGxvY2F0b3I6OkpTSklUQ29kZVBh
Z2VzLCBFWEVDVVRBQkxFX1BPT0xfV1JJVEFCTEUsIHRydWUpOwogI2lmICFFTkFCTEUoSU5URVJQ
UkVURVIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126314</attachid>
            <date>2012-02-09 09:02:35 -0800</date>
            <delta_ts>2012-02-10 11:00:40 -0800</delta_ts>
            <desc>the patch that fixes LinkBuffer</desc>
            <filename>76724.patch</filename>
            <type>text/plain</type>
            <size>4036</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJiZWYyMzYuLmUzMWNmN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAyLTA5ICBZb25nIExpICA8eW9s
aUByaW0uY29tPgorCisgICAgICAgIEVOQUJMRShBU1NFTUJMRVJfV1hfRVhDTFVTSVZFKTogTGlu
a0J1ZmZlciBjYW4gbGVhdmUgcGFnZXMgbm90IG1hcmtlZCBhcyBleGVjdXRhYmxlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MjQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzc3VlIG9ubHkg
ZXhpc3RzIHdoZW4gRU5BQkxFKEFTU0VNQkxFUl9XWF9FWENMVVNJVkUpIGlzIG9uLgorICAgICAg
ICBUaGUgc2l6ZSB1c2VkIHRvIGNhbGwgbWFrZUV4ZWN1dGFibGUgY2FuIGJlIHNtYWxsZXIgdGhh
biB0aGUgb25lIHRoYXQgd2FzIHVzZWQgZm9yIG1ha2VXcml0YWJsZS4KKyAgICAgICAgU28gaXQg
Y2FuIGxlYXZlIHBhZ2VzIGJlaGluZCB0aGF0IGFyZSBub3Qgc2V0IGJhY2sgdG8gZGVmYXVsdCBm
bGFncy4gV2hlbiBhbiBhc3NlbWJseSBvbiBvbmUgb2YgdGhvc2UKKyAgICAgICAgcGFnZXMgaXMg
ZXhlY3V0ZWQgb3IgSklUIHJldHVybnMgdG8gdGhvc2UgcGFnZXMgaW4gdGhlIGNhc2UgaXQgd2Fz
IGFscmVhZHkgZXhlY3V0aW5nIGZyb20gdGhlcmUsIHRoZQorICAgICAgICBzb2Z0d2FyZSB3aWxs
IGNyYXNoLgorCisgICAgICAgICogYXNzZW1ibGVyL0xpbmtCdWZmZXIuaDoKKyAgICAgICAgKEpT
Qzo6TGlua0J1ZmZlcjo6TGlua0J1ZmZlcik6CisgICAgICAgIChKU0M6OkxpbmtCdWZmZXI6Omxp
bmtDb2RlKToKKyAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6cGVyZm9ybUZpbmFsaXphdGlvbik6
CisgICAgICAgIChMaW5rQnVmZmVyKToKKwogMjAxMi0wMi0wOCAgT2xpdmVyIEh1bnQgIDxvbGl2
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdob29wcywgZml4IHRoZSBidWlsZC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXggZTA3ODAyNC4uMzIy
MWFhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVm
ZmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgK
QEAgLTc0LDYgKzc0LDcgQEAgY2xhc3MgTGlua0J1ZmZlciB7CiBwdWJsaWM6CiAgICAgTGlua0J1
ZmZlcihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIE1hY3JvQXNzZW1ibGVyKiBtYXNtLCB2b2lk
KiBvd25lclVJRCkKICAgICAgICAgOiBtX3NpemUoMCkKKyAgICAgICAgLCBtX2luaXRpYWxTaXpl
KDApCiAgICAgICAgICwgbV9jb2RlKDApCiAgICAgICAgICwgbV9hc3NlbWJsZXIobWFzbSkKICAg
ICAgICAgLCBtX2dsb2JhbERhdGEoJmdsb2JhbERhdGEpCkBAIC0yMjUsMTMgKzIyNiwxMyBAQCBw
cml2YXRlOgogICAgICAgICBtX3NpemUgPSBtX2Fzc2VtYmxlci0+bV9hc3NlbWJsZXIuY29kZVNp
emUoKTsKICAgICAgICAgQVNTRVJUKG1fY29kZSk7CiAjZWxzZQotICAgICAgICBzaXplX3QgaW5p
dGlhbFNpemUgPSBtX2Fzc2VtYmxlci0+bV9hc3NlbWJsZXIuY29kZVNpemUoKTsKLSAgICAgICAg
bV9leGVjdXRhYmxlTWVtb3J5ID0gbV9nbG9iYWxEYXRhLT5leGVjdXRhYmxlQWxsb2NhdG9yLmFs
bG9jYXRlKCptX2dsb2JhbERhdGEsIGluaXRpYWxTaXplLCBvd25lclVJRCk7CisgICAgICAgIG1f
aW5pdGlhbFNpemUgPSBtX2Fzc2VtYmxlci0+bV9hc3NlbWJsZXIuY29kZVNpemUoKTsKKyAgICAg
ICAgbV9leGVjdXRhYmxlTWVtb3J5ID0gbV9nbG9iYWxEYXRhLT5leGVjdXRhYmxlQWxsb2NhdG9y
LmFsbG9jYXRlKCptX2dsb2JhbERhdGEsIG1faW5pdGlhbFNpemUsIG93bmVyVUlEKTsKICAgICAg
ICAgaWYgKCFtX2V4ZWN1dGFibGVNZW1vcnkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IG1fY29kZSA9ICh1aW50OF90KiltX2V4ZWN1dGFibGVNZW1vcnktPnN0YXJ0KCk7CiAgICAgICAg
IEFTU0VSVChtX2NvZGUpOwotICAgICAgICBFeGVjdXRhYmxlQWxsb2NhdG9yOjptYWtlV3JpdGFi
bGUobV9jb2RlLCBpbml0aWFsU2l6ZSk7CisgICAgICAgIEV4ZWN1dGFibGVBbGxvY2F0b3I6Om1h
a2VXcml0YWJsZShtX2NvZGUsIG1faW5pdGlhbFNpemUpOwogICAgICAgICB1aW50OF90KiBpbkRh
dGEgPSAodWludDhfdCopbV9hc3NlbWJsZXItPnVubGlua2VkQ29kZSgpOwogICAgICAgICB1aW50
OF90KiBvdXREYXRhID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4obV9jb2RlKTsKICAgICAg
ICAgaW50IHJlYWRQdHIgPSAwOwpAQCAtMjc3LDggKzI3OCw4IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBqdW1wc1RvTGlua1tpXS5zZXRGcm9tKHdyaXRlUHRyKTsKICAgICAgICAgfQogICAgICAg
ICAvLyBDb3B5IGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGxhc3QganVtcAotICAgICAgICBtZW1jcHko
b3V0RGF0YSArIHdyaXRlUHRyLCBpbkRhdGEgKyByZWFkUHRyLCBpbml0aWFsU2l6ZSAtIHJlYWRQ
dHIpOwotICAgICAgICBtX2Fzc2VtYmxlci0+cmVjb3JkTGlua09mZnNldHMocmVhZFB0ciwgaW5p
dGlhbFNpemUsIHJlYWRQdHIgLSB3cml0ZVB0cik7CisgICAgICAgIG1lbWNweShvdXREYXRhICsg
d3JpdGVQdHIsIGluRGF0YSArIHJlYWRQdHIsIG1faW5pdGlhbFNpemUgLSByZWFkUHRyKTsKKyAg
ICAgICAgbV9hc3NlbWJsZXItPnJlY29yZExpbmtPZmZzZXRzKHJlYWRQdHIsIG1faW5pdGlhbFNp
emUsIHJlYWRQdHIgLSB3cml0ZVB0cik7CiAgICAgICAgIAogICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwganVtcENvdW50OyArK2kpIHsKICAgICAgICAgICAgIHVpbnQ4X3QqIGxvY2F0
aW9uID0gb3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLmZyb20oKTsKQEAgLTI4NywxMSArMjg4LDEx
IEBAIHByaXZhdGU6CiAgICAgICAgIH0KIAogICAgICAgICBqdW1wc1RvTGluay5jbGVhcigpOwot
ICAgICAgICBtX3NpemUgPSB3cml0ZVB0ciArIGluaXRpYWxTaXplIC0gcmVhZFB0cjsKKyAgICAg
ICAgbV9zaXplID0gd3JpdGVQdHIgKyBtX2luaXRpYWxTaXplIC0gcmVhZFB0cjsKICAgICAgICAg
bV9leGVjdXRhYmxlTWVtb3J5LT5zaHJpbmsobV9zaXplKTsKIAogI2lmIERVTVBfTElOS19TVEFU
SVNUSUNTCi0gICAgICAgIGR1bXBMaW5rU3RhdGlzdGljcyhtX2NvZGUsIGluaXRpYWxTaXplLCBt
X3NpemUpOworICAgICAgICBkdW1wTGlua1N0YXRpc3RpY3MobV9jb2RlLCBtX2luaXRpYWxTaXpl
LCBtX3NpemUpOwogI2VuZGlmCiAjaWYgRFVNUF9DT0RFCiAgICAgICAgIGR1bXBDb2RlKG1fY29k
ZSwgbV9zaXplKTsKQEAgLTMwNiw3ICszMDcsNyBAQCBwcml2YXRlOgogICAgICAgICBtX2NvbXBs
ZXRlZCA9IHRydWU7CiAjZW5kaWYKIAotICAgICAgICBFeGVjdXRhYmxlQWxsb2NhdG9yOjptYWtl
RXhlY3V0YWJsZShjb2RlKCksIG1fc2l6ZSk7CisgICAgICAgIEV4ZWN1dGFibGVBbGxvY2F0b3I6
Om1ha2VFeGVjdXRhYmxlKGNvZGUoKSwgbV9pbml0aWFsU2l6ZSk7CiAgICAgICAgIEV4ZWN1dGFi
bGVBbGxvY2F0b3I6OmNhY2hlRmx1c2goY29kZSgpLCBtX3NpemUpOwogICAgIH0KIApAQCAtMzU5
LDYgKzM2MCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgUmVmUHRyPEV4ZWN1dGFibGVNZW1vcnlI
YW5kbGU+IG1fZXhlY3V0YWJsZU1lbW9yeTsKICAgICBzaXplX3QgbV9zaXplOworICAgIHNpemVf
dCBtX2luaXRpYWxTaXplOwogICAgIHZvaWQqIG1fY29kZTsKICAgICBNYWNyb0Fzc2VtYmxlciog
bV9hc3NlbWJsZXI7CiAgICAgSlNHbG9iYWxEYXRhKiBtX2dsb2JhbERhdGE7Cg==
</data>
<flag name="review"
          id="128093"
          type_id="1"
          status="-"
          setter="rwlbuis"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126537</attachid>
            <date>2012-02-10 11:07:45 -0800</date>
            <delta_ts>2012-02-10 15:02:15 -0800</delta_ts>
            <desc>Updated</desc>
            <filename>76724.patch</filename>
            <type>text/plain</type>
            <size>4252</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJiZWYyMzYuLjAyOTE5MWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAyLTA5ICBZb25nIExpICA8eW9s
aUByaW0uY29tPgorCisgICAgICAgIEVOQUJMRShBU1NFTUJMRVJfV1hfRVhDTFVTSVZFKTogTGlu
a0J1ZmZlciBjYW4gbGVhdmUgcGFnZXMgbm90IG1hcmtlZCBhcyBleGVjdXRhYmxlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MjQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzc3VlIG9ubHkg
ZXhpc3RzIHdoZW4gYm90aCBFTkFCTEUoQVNTRU1CTEVSX1dYX0VYQ0xVU0lWRSkgYW5kIEVOQUJM
RShCUkFOQ0hfQ09NUEFDVElPTikgYXJlIG9uLgorICAgICAgICBUaGUgc2l6ZSB1c2VkIHRvIGNh
bGwgbWFrZUV4ZWN1dGFibGUgY2FuIGJlIHNtYWxsZXIgdGhhbiB0aGUgb25lIHRoYXQgd2FzIHVz
ZWQgZm9yIG1ha2VXcml0YWJsZS4KKyAgICAgICAgU28gaXQgY2FuIGxlYXZlIHBhZ2VzIGJlaGlu
ZCB0aGF0IGFyZSBub3Qgc2V0IGJhY2sgdG8gZGVmYXVsdCBmbGFncy4gV2hlbiBhbiBhc3NlbWJs
eSBvbiBvbmUgb2YgdGhvc2UKKyAgICAgICAgcGFnZXMgaXMgZXhlY3V0ZWQgb3IgSklUIHJldHVy
bnMgdG8gdGhvc2UgcGFnZXMgaW4gdGhlIGNhc2UgaXQgd2FzIGFscmVhZHkgZXhlY3V0aW5nIGZy
b20gdGhlcmUsIHRoZQorICAgICAgICBzb2Z0d2FyZSB3aWxsIGNyYXNoLgorCisgICAgICAgICog
YXNzZW1ibGVyL0xpbmtCdWZmZXIuaDogQWRkIG1faW5pdGlhbFNpemUgYW5kIHVzZSBpdCBpbiBw
ZXJmb3JtRmluYWxpemF0aW9uKCkuCisgICAgICAgIChKU0M6OkxpbmtCdWZmZXI6OkxpbmtCdWZm
ZXIpOgorICAgICAgICAoSlNDOjpMaW5rQnVmZmVyOjpsaW5rQ29kZSk6CisgICAgICAgIChKU0M6
OkxpbmtCdWZmZXI6OnBlcmZvcm1GaW5hbGl6YXRpb24pOgorICAgICAgICAoTGlua0J1ZmZlcik6
CisKIDIwMTItMDItMDggIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXaG9vcHMsIGZpeCB0aGUgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTGlua0J1ZmZlci5oCmluZGV4IGUwNzgwMjQuLjg2ZTI1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCkBAIC03NCw2ICs3NCw5IEBAIGNsYXNz
IExpbmtCdWZmZXIgewogcHVibGljOgogICAgIExpbmtCdWZmZXIoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBNYWNyb0Fzc2VtYmxlciogbWFzbSwgdm9pZCogb3duZXJVSUQpCiAgICAgICAgIDog
bV9zaXplKDApCisjaWYgRU5BQkxFKEJSQU5DSF9DT01QQUNUSU9OKQorICAgICAgICAsIG1faW5p
dGlhbFNpemUoMCkKKyNlbmRpZgogICAgICAgICAsIG1fY29kZSgwKQogICAgICAgICAsIG1fYXNz
ZW1ibGVyKG1hc20pCiAgICAgICAgICwgbV9nbG9iYWxEYXRhKCZnbG9iYWxEYXRhKQpAQCAtMjI1
LDEzICsyMjgsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgbV9zaXplID0gbV9hc3NlbWJsZXItPm1f
YXNzZW1ibGVyLmNvZGVTaXplKCk7CiAgICAgICAgIEFTU0VSVChtX2NvZGUpOwogI2Vsc2UKLSAg
ICAgICAgc2l6ZV90IGluaXRpYWxTaXplID0gbV9hc3NlbWJsZXItPm1fYXNzZW1ibGVyLmNvZGVT
aXplKCk7Ci0gICAgICAgIG1fZXhlY3V0YWJsZU1lbW9yeSA9IG1fZ2xvYmFsRGF0YS0+ZXhlY3V0
YWJsZUFsbG9jYXRvci5hbGxvY2F0ZSgqbV9nbG9iYWxEYXRhLCBpbml0aWFsU2l6ZSwgb3duZXJV
SUQpOworICAgICAgICBtX2luaXRpYWxTaXplID0gbV9hc3NlbWJsZXItPm1fYXNzZW1ibGVyLmNv
ZGVTaXplKCk7CisgICAgICAgIG1fZXhlY3V0YWJsZU1lbW9yeSA9IG1fZ2xvYmFsRGF0YS0+ZXhl
Y3V0YWJsZUFsbG9jYXRvci5hbGxvY2F0ZSgqbV9nbG9iYWxEYXRhLCBtX2luaXRpYWxTaXplLCBv
d25lclVJRCk7CiAgICAgICAgIGlmICghbV9leGVjdXRhYmxlTWVtb3J5KQogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICBtX2NvZGUgPSAodWludDhfdCopbV9leGVjdXRhYmxlTWVtb3J5LT5z
dGFydCgpOwogICAgICAgICBBU1NFUlQobV9jb2RlKTsKLSAgICAgICAgRXhlY3V0YWJsZUFsbG9j
YXRvcjo6bWFrZVdyaXRhYmxlKG1fY29kZSwgaW5pdGlhbFNpemUpOworICAgICAgICBFeGVjdXRh
YmxlQWxsb2NhdG9yOjptYWtlV3JpdGFibGUobV9jb2RlLCBtX2luaXRpYWxTaXplKTsKICAgICAg
ICAgdWludDhfdCogaW5EYXRhID0gKHVpbnQ4X3QqKW1fYXNzZW1ibGVyLT51bmxpbmtlZENvZGUo
KTsKICAgICAgICAgdWludDhfdCogb3V0RGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+
KG1fY29kZSk7CiAgICAgICAgIGludCByZWFkUHRyID0gMDsKQEAgLTI3Nyw4ICsyODAsOCBAQCBw
cml2YXRlOgogICAgICAgICAgICAganVtcHNUb0xpbmtbaV0uc2V0RnJvbSh3cml0ZVB0cik7CiAg
ICAgICAgIH0KICAgICAgICAgLy8gQ29weSBldmVyeXRoaW5nIGFmdGVyIHRoZSBsYXN0IGp1bXAK
LSAgICAgICAgbWVtY3B5KG91dERhdGEgKyB3cml0ZVB0ciwgaW5EYXRhICsgcmVhZFB0ciwgaW5p
dGlhbFNpemUgLSByZWFkUHRyKTsKLSAgICAgICAgbV9hc3NlbWJsZXItPnJlY29yZExpbmtPZmZz
ZXRzKHJlYWRQdHIsIGluaXRpYWxTaXplLCByZWFkUHRyIC0gd3JpdGVQdHIpOworICAgICAgICBt
ZW1jcHkob3V0RGF0YSArIHdyaXRlUHRyLCBpbkRhdGEgKyByZWFkUHRyLCBtX2luaXRpYWxTaXpl
IC0gcmVhZFB0cik7CisgICAgICAgIG1fYXNzZW1ibGVyLT5yZWNvcmRMaW5rT2Zmc2V0cyhyZWFk
UHRyLCBtX2luaXRpYWxTaXplLCByZWFkUHRyIC0gd3JpdGVQdHIpOwogICAgICAgICAKICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGp1bXBDb3VudDsgKytpKSB7CiAgICAgICAgICAg
ICB1aW50OF90KiBsb2NhdGlvbiA9IG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS5mcm9tKCk7CkBA
IC0yODcsMTEgKzI5MCwxMSBAQCBwcml2YXRlOgogICAgICAgICB9CiAKICAgICAgICAganVtcHNU
b0xpbmsuY2xlYXIoKTsKLSAgICAgICAgbV9zaXplID0gd3JpdGVQdHIgKyBpbml0aWFsU2l6ZSAt
IHJlYWRQdHI7CisgICAgICAgIG1fc2l6ZSA9IHdyaXRlUHRyICsgbV9pbml0aWFsU2l6ZSAtIHJl
YWRQdHI7CiAgICAgICAgIG1fZXhlY3V0YWJsZU1lbW9yeS0+c2hyaW5rKG1fc2l6ZSk7CiAKICNp
ZiBEVU1QX0xJTktfU1RBVElTVElDUwotICAgICAgICBkdW1wTGlua1N0YXRpc3RpY3MobV9jb2Rl
LCBpbml0aWFsU2l6ZSwgbV9zaXplKTsKKyAgICAgICAgZHVtcExpbmtTdGF0aXN0aWNzKG1fY29k
ZSwgbV9pbml0aWFsU2l6ZSwgbV9zaXplKTsKICNlbmRpZgogI2lmIERVTVBfQ09ERQogICAgICAg
ICBkdW1wQ29kZShtX2NvZGUsIG1fc2l6ZSk7CkBAIC0zMDYsNyArMzA5LDExIEBAIHByaXZhdGU6
CiAgICAgICAgIG1fY29tcGxldGVkID0gdHJ1ZTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEJSQU5D
SF9DT01QQUNUSU9OKQorICAgICAgICBFeGVjdXRhYmxlQWxsb2NhdG9yOjptYWtlRXhlY3V0YWJs
ZShjb2RlKCksIG1faW5pdGlhbFNpemUpOworI2Vsc2UKICAgICAgICAgRXhlY3V0YWJsZUFsbG9j
YXRvcjo6bWFrZUV4ZWN1dGFibGUoY29kZSgpLCBtX3NpemUpOworI2VuZGlmCiAgICAgICAgIEV4
ZWN1dGFibGVBbGxvY2F0b3I6OmNhY2hlRmx1c2goY29kZSgpLCBtX3NpemUpOwogICAgIH0KIApA
QCAtMzU5LDYgKzM2Niw5IEBAIHByaXZhdGU6CiAgICAgCiAgICAgUmVmUHRyPEV4ZWN1dGFibGVN
ZW1vcnlIYW5kbGU+IG1fZXhlY3V0YWJsZU1lbW9yeTsKICAgICBzaXplX3QgbV9zaXplOworI2lm
IEVOQUJMRShCUkFOQ0hfQ09NUEFDVElPTikKKyAgICBzaXplX3QgbV9pbml0aWFsU2l6ZTsKKyNl
bmRpZgogICAgIHZvaWQqIG1fY29kZTsKICAgICBNYWNyb0Fzc2VtYmxlciogbV9hc3NlbWJsZXI7
CiAgICAgSlNHbG9iYWxEYXRhKiBtX2dsb2JhbERhdGE7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>