<?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>77013</bug_id>
          
          <creation_ts>2012-01-25 08:39:41 -0800</creation_ts>
          <short_desc>[BlackBerry] Implement OSAllocator::commit/decommit</short_desc>
          <delta_ts>2012-06-13 12:30:15 -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>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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yong Li">yong.li.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>milian.wolff</cc>
    
    <cc>staikos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>542302</commentid>
    <comment_count>0</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-01-25 08:39:41 -0800</bug_when>
    <thetext>BlackBerry port should also support decommitting virtual memory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542305</commentid>
    <comment_count>1</comment_count>
      <attachid>123947</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-01-25 08:42:59 -0800</bug_when>
    <thetext>Created attachment 123947
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542315</commentid>
    <comment_count>2</comment_count>
      <attachid>123947</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-01-25 08:52:40 -0800</bug_when>
    <thetext>Comment on attachment 123947
the patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542389</commentid>
    <comment_count>3</comment_count>
      <attachid>123947</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-25 10:01:30 -0800</bug_when>
    <thetext>Comment on attachment 123947
the patch

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

New failing tests:
media/audio-garbage-collect.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542442</commentid>
    <comment_count>4</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-01-25 10:49:24 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 123947 [details])
&gt; Attachment 123947 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/11242851
&gt; 
&gt; New failing tests:
&gt; media/audio-garbage-collect.html

cannot be due to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542544</commentid>
    <comment_count>5</comment_count>
      <attachid>123947</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-25 12:52:57 -0800</bug_when>
    <thetext>Comment on attachment 123947
the patch

Clearing flags on attachment: 123947

Committed r105918: &lt;http://trac.webkit.org/changeset/105918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542545</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-25 12:53:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582010</commentid>
    <comment_count>7</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-03-19 11:57:19 -0700</bug_when>
    <thetext>Actually we should implement this in another way</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582027</commentid>
    <comment_count>8</comment_count>
      <attachid>132622</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-03-19 12:12:38 -0700</bug_when>
    <thetext>Created attachment 132622
new solution</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582121</commentid>
    <comment_count>9</comment_count>
      <attachid>132622</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-19 13:16:10 -0700</bug_when>
    <thetext>Comment on attachment 132622
new solution

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582162</commentid>
    <comment_count>10</comment_count>
      <attachid>132622</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 13:39:31 -0700</bug_when>
    <thetext>Comment on attachment 132622
new solution

Clearing flags on attachment: 132622

Committed r111234: &lt;http://trac.webkit.org/changeset/111234&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582163</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 13:39:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648048</commentid>
    <comment_count>12</comment_count>
    <who name="Milian Wolff">milian.wolff</who>
    <bug_when>2012-06-13 08:18:58 -0700</bug_when>
    <thetext>Hey there,

I am wondering about the last patch: What QNX are you working on? On QNX6 I cannot find an implementation of MADV_FREE_REUSABLE nor MADV_FREE_REUSE, which you apparently do have, considering that your patch contains:

#define HAVE_MADV_FREE_REUSE 1
#define HAVE_MADV_FREE 1 

With this in, I cannot compile QtWebKit for QNX6, should this maybe be disabled to read #define HAVE_MADV_FREE(_REUSE) 0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648066</commentid>
    <comment_count>13</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-06-13 08:36:32 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Hey there,
&gt; 
&gt; I am wondering about the last patch: What QNX are you working on? On QNX6 I cannot find an implementation of MADV_FREE_REUSABLE nor MADV_FREE_REUSE, which you apparently do have, considering that your patch contains:
&gt; 
&gt; #define HAVE_MADV_FREE_REUSE 1
&gt; #define HAVE_MADV_FREE 1 
&gt; 
&gt; With this in, I cannot compile QtWebKit for QNX6, should this maybe be disabled to read #define HAVE_MADV_FREE(_REUSE) 0?

Try this one: http://trac.webkit.org/changeset/111234

QNX doesn&apos;t have madv_free/free_reuse. But I want to turn them on so we know where we should add our alternative implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648080</commentid>
    <comment_count>14</comment_count>
    <who name="Milian Wolff">milian.wolff</who>
    <bug_when>2012-06-13 08:53:37 -0700</bug_when>
    <thetext>Hey there,

the patchset you link to above does not cover the use case in TCSystemAlloc.cpp:

/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function &apos;void TCMalloc_SystemRelease(void*, std::size_t)&apos;:
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: &apos;MADV_FREE_REUSABLE&apos; was not declared in this scope
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: &apos;madvise&apos; was not declared in this scope
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function &apos;void TCMalloc_SystemCommit(void*, std::size_t)&apos;:
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: &apos;MADV_FREE_REUSE&apos; was not declared in this scope
/home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: &apos;madvise&apos; was not declared in this scope

Did you miss that, or is something going wrong on my side?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648094</commentid>
    <comment_count>15</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-06-13 09:05:35 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Hey there,
&gt; 
&gt; the patchset you link to above does not cover the use case in TCSystemAlloc.cpp:
&gt; 
&gt; /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function &apos;void TCMalloc_SystemRelease(void*, std::size_t)&apos;:
&gt; /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: &apos;MADV_FREE_REUSABLE&apos; was not declared in this scope
&gt; /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: &apos;madvise&apos; was not declared in this scope
&gt; /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function &apos;void TCMalloc_SystemCommit(void*, std::size_t)&apos;:
&gt; /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: &apos;MADV_FREE_REUSE&apos; was not declared in this scope
&gt; /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: &apos;madvise&apos; was not declared in this scope
&gt; 
&gt; Did you miss that, or is something going wrong on my side?

We don&apos;t use TCSystemAlloc.

So 2 options I can see here:

1. turn off HAVE_MADV_FREE and HAVE_MADV_FREE_REUSE. However the memory allocator won&apos;t be able to decommit free pages (return RAM to system).
2. Add an implementation as I did in r111234 for TCSystemAlloc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648110</commentid>
    <comment_count>16</comment_count>
    <who name="Milian Wolff">milian.wolff</who>
    <bug_when>2012-06-13 09:14:29 -0700</bug_when>
    <thetext>Ah ok,

so maybe we should change this block:

#if PLATFORM(BLACKBERRY)
#define USE_SYSTEM_MALLOC 1
#define WTF_USE_MERSENNE_TWISTER_19937 1
#define WTF_USE_SKIA 1
#endif

to use 

#if OS(QNX) || PLATFORM(BLACKBERRY)
...
#endif

? What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648122</commentid>
    <comment_count>17</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-06-13 09:25:49 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Ah ok,
&gt; 
&gt; so maybe we should change this block:
&gt; 
&gt; #if PLATFORM(BLACKBERRY)
&gt; #define USE_SYSTEM_MALLOC 1
&gt; #define WTF_USE_MERSENNE_TWISTER_19937 1
&gt; #define WTF_USE_SKIA 1
&gt; #endif
&gt; 
&gt; to use 
&gt; 
&gt; #if OS(QNX) || PLATFORM(BLACKBERRY)
&gt; ...
&gt; #endif
&gt; 
&gt; ? What do you think?

Not sure for the other 2. But it is OK to always use USE_SYSTEM_MALLOC on QNX. Yeah, this is the option 3 :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648362</commentid>
    <comment_count>18</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-06-13 12:30:15 -0700</bug_when>
    <thetext>
&gt; 
&gt; #if OS(QNX) || PLATFORM(BLACKBERRY)
&gt; ...
&gt; #endif
&gt; 
&gt; ? What do you think?

only #if OS(QNX)

is enough.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123947</attachid>
            <date>2012-01-25 08:42:59 -0800</date>
            <delta_ts>2012-01-25 12:52:57 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>77013.diff</filename>
            <type>text/plain</type>
            <size>2898</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDVlMTg5ZjMuLmI4ODhmMjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAxLTIwICBZb25nIExpICA8eW9s
aUByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBJbXBsZW1lbnQgT1NBbGxvY2F0b3I6
OmNvbW1pdC9kZWNvbW1pdC4KKyAgICAgICAgQmxhY2tCZXJyeSBwb3J0IHNob3VsZCBzdXBwb3J0
IHZpcnR1YWwgbWVtb3J5IGRlY29tbWl0aW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9PU0FsbG9jYXRvclBvc2l4LmNwcDoKKyAgICAgICAg
KFdURjo6T1NBbGxvY2F0b3I6OnJlc2VydmVVbmNvbW1pdHRlZCk6CisgICAgICAgIChXVEY6Ok9T
QWxsb2NhdG9yOjpjb21taXQpOgorICAgICAgICAoV1RGOjpPU0FsbG9jYXRvcjo6ZGVjb21taXQp
OgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDEyLTAxLTI0ICBHYXZpbiBCYXJyYWNs
b3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvT1NBbGxvY2F0b3JQb3NpeC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL09TQWxsb2NhdG9yUG9zaXguY3BwCmluZGV4IGIyNjRmNjguLjU2YzYwODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxvY2F0b3JQb3NpeC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9PU0FsbG9jYXRvclBvc2l4LmNwcApAQCAtMzcsNyAr
MzcsOSBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21t
aXR0ZWQoc2l6ZV90IGJ5dGVzLCBVc2FnZSB1c2FnZSwgYm9vbCB3cml0YWJsZSwgYm9vbCBleGVj
dXRhYmxlLCBib29sIGluY2x1ZGVzR3VhcmRQYWdlcykKIHsKICAgICB2b2lkKiByZXN1bHQgPSBy
ZXNlcnZlQW5kQ29tbWl0KGJ5dGVzLCB1c2FnZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIGluY2x1
ZGVzR3VhcmRQYWdlcyk7Ci0jaWYgSEFWRShNQURWX0ZSRUVfUkVVU0UpCisjaWYgT1MoUU5YKQor
ICAgIHBvc2l4X21hZHZpc2UocmVzdWx0LCBieXRlcywgUE9TSVhfTUFEVl9ET05UTkVFRCk7Cisj
ZWxpZiBIQVZFKE1BRFZfRlJFRV9SRVVTRSkKICAgICAvLyBUbyBzdXBwb3J0IHRoZSAicmVzZXJ2
ZSB0aGVuIGNvbW1pdCIgbW9kZWwsIHdlIGhhdmUgdG8gaW5pdGlhbGx5IGRlY29tbWl0LgogICAg
IHdoaWxlIChtYWR2aXNlKHJlc3VsdCwgYnl0ZXMsIE1BRFZfRlJFRV9SRVVTQUJMRSkgPT0gLTEg
JiYgZXJybm8gPT0gRUFHQUlOKSB7IH0KICNlbmRpZgpAQCAtMTIwLDcgKzEyMiw5IEBAIHZvaWQq
IE9TQWxsb2NhdG9yOjpyZXNlcnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywgVXNhZ2UgdXNhZ2Us
IGJvb2wgd3JpdGFibGUsIGJvCiAKIHZvaWQgT1NBbGxvY2F0b3I6OmNvbW1pdCh2b2lkKiBhZGRy
ZXNzLCBzaXplX3QgYnl0ZXMsIGJvb2wsIGJvb2wpCiB7Ci0jaWYgSEFWRShNQURWX0ZSRUVfUkVV
U0UpCisjaWYgT1MoUU5YKQorICAgIHBvc2l4X21hZHZpc2UoYWRkcmVzcywgYnl0ZXMsIFBPU0lY
X01BRFZfV0lMTE5FRUQpOworI2VsaWYgSEFWRShNQURWX0ZSRUVfUkVVU0UpCiAgICAgd2hpbGUg
KG1hZHZpc2UoYWRkcmVzcywgYnl0ZXMsIE1BRFZfRlJFRV9SRVVTRSkgPT0gLTEgJiYgZXJybm8g
PT0gRUFHQUlOKSB7IH0KICNlbHNlCiAgICAgLy8gTm9uLU1BRFZfRlJFRV9SRVVTRSByZXNlcnZh
dGlvbnMgYXV0b21hdGljYWxseSBjb21taXQgb24gZGVtYW5kLgpAQCAtMTMxLDcgKzEzNSw5IEBA
IHZvaWQgT1NBbGxvY2F0b3I6OmNvbW1pdCh2b2lkKiBhZGRyZXNzLCBzaXplX3QgYnl0ZXMsIGJv
b2wsIGJvb2wpCiAKIHZvaWQgT1NBbGxvY2F0b3I6OmRlY29tbWl0KHZvaWQqIGFkZHJlc3MsIHNp
emVfdCBieXRlcykKIHsKLSNpZiBIQVZFKE1BRFZfRlJFRV9SRVVTRSkKKyNpZiBPUyhRTlgpCisg
ICAgcG9zaXhfbWFkdmlzZShhZGRyZXNzLCBieXRlcywgUE9TSVhfTUFEVl9ET05UTkVFRCk7Cisj
ZWxpZiBIQVZFKE1BRFZfRlJFRV9SRVVTRSkKICAgICB3aGlsZSAobWFkdmlzZShhZGRyZXNzLCBi
eXRlcywgTUFEVl9GUkVFX1JFVVNBQkxFKSA9PSAtMSAmJiBlcnJubyA9PSBFQUdBSU4pIHsgfQog
I2VsaWYgSEFWRShNQURWX0ZSRUUpCiAgICAgd2hpbGUgKG1hZHZpc2UoYWRkcmVzcywgYnl0ZXMs
IE1BRFZfRlJFRSkgPT0gLTEgJiYgZXJybm8gPT0gRUFHQUlOKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUGxhdGZvcm0uaAppbmRleCAzZTVjOTBmLi45MGRlYmQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC03MjMsNiArNzIzLDggQEAKIAogI2RlZmluZSBIQVZFX0VS
Uk5PX0ggMQogI2RlZmluZSBIQVZFX01NQVAgMQorI2RlZmluZSBIQVZFX01BRFZfRlJFRV9SRVVT
RSAxCisjZGVmaW5lIEhBVkVfTUFEVl9GUkVFIDEKICNkZWZpbmUgSEFWRV9TQlJLIDEKICNkZWZp
bmUgSEFWRV9TVFJJTkdTX0ggMQogI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132622</attachid>
            <date>2012-03-19 12:12:38 -0700</date>
            <delta_ts>2012-03-19 13:39:31 -0700</delta_ts>
            <desc>new solution</desc>
            <filename>77013.patch</filename>
            <type>text/plain</type>
            <size>3614</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDRhODg0YWUuLmU4OTVmNDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDEyLTAzLTE5ICBZb25nIExpICA8eW9s
aUByaW0uY29tPgogCisgICAgICAgIFtCbGFja0JlcnJ5XSBJbXBsZW1lbnQgT1NBbGxvY2F0b3I6
OmNvbW1pdC9kZWNvbW1pdCBpbiB0aGUgY29ycmVjdCB3YXkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDEzCisKKyAgICAgICAgV2Ugc2hvdWxkIHVz
ZSBtbWFwKFBST1RfTk9ORSwgTUFQX0xBWlkpIGluc3RlYWQgb2YgcG9zaXhfbWFkdmlzZSgpIHRv
CisgICAgICAgIGltcGxlbWVudCBtZW1vcnkgZGVjb21taXR0aW5nIGZvciBRTlguCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvT1NBbGxvY2F0
b3JQb3NpeC5jcHA6CisgICAgICAgIChXVEY6Ok9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21taXR0
ZWQpOgorICAgICAgICAoV1RGOjpPU0FsbG9jYXRvcjo6Y29tbWl0KToKKyAgICAgICAgKFdURjo6
T1NBbGxvY2F0b3I6OmRlY29tbWl0KToKKworMjAxMi0wMy0xOSAgWW9uZyBMaSAgPHlvbGlAcmlt
LmNvbT4KKwogICAgICAgICBJbmNyZWFzZSBnZXRCeUlkU2xvd0Nhc2UgQ29uc3RhbnRTcGFjZS9J
bnN0cnVjdGlvblNwYWNlIGZvciBDUFUoQVJNX1RSQURJVElPTkFMKQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1MjEKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9PU0FsbG9jYXRvclBvc2l4LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvT1NBbGxvY2F0b3JQb3NpeC5jcHAKaW5kZXggZjE0ZWNiOC4uZDFkZjJk
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9PU0FsbG9jYXRvclBvc2l4
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yUG9zaXguY3Bw
CkBAIC0zNiwxNSArMzYsMjMgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHZvaWQqIE9TQWxsb2NhdG9y
OjpyZXNlcnZlVW5jb21taXR0ZWQoc2l6ZV90IGJ5dGVzLCBVc2FnZSB1c2FnZSwgYm9vbCB3cml0
YWJsZSwgYm9vbCBleGVjdXRhYmxlLCBib29sIGluY2x1ZGVzR3VhcmRQYWdlcykKIHsKLSAgICB2
b2lkKiByZXN1bHQgPSByZXNlcnZlQW5kQ29tbWl0KGJ5dGVzLCB1c2FnZSwgd3JpdGFibGUsIGV4
ZWN1dGFibGUsIGluY2x1ZGVzR3VhcmRQYWdlcyk7CiAjaWYgT1MoUU5YKQotICAgIHBvc2l4X21h
ZHZpc2UocmVzdWx0LCBieXRlcywgUE9TSVhfTUFEVl9ET05UTkVFRCk7Ci0jZWxpZiBPUyhMSU5V
WCkKKyAgICAvLyBSZXNlcnZlIG1lbW9yeSB3aXRoIFBST1RfTk9ORSBhbmQgTUFQX0xBWlkgc28g
aXQgaXNuJ3QgY29tbWl0dGVkIG5vdy4KKyAgICB2b2lkKiByZXN1bHQgPSBtbWFwKDAsIGJ5dGVz
LCBQUk9UX05PTkUsIE1BUF9MQVpZIHwgTUFQX1BSSVZBVEUgfCBNQVBfQU5PTiwgLTEsIDApOwor
ICAgIGlmIChyZXN1bHQgPT0gTUFQX0ZBSUxFRCkKKyAgICAgICAgQ1JBU0goKTsKKyNlbHNlIC8v
IE9TKFFOWCkKKworICAgIHZvaWQqIHJlc3VsdCA9IHJlc2VydmVBbmRDb21taXQoYnl0ZXMsIHVz
YWdlLCB3cml0YWJsZSwgZXhlY3V0YWJsZSwgaW5jbHVkZXNHdWFyZFBhZ2VzKTsKKyNpZiBPUyhM
SU5VWCkKICAgICBtYWR2aXNlKHJlc3VsdCwgYnl0ZXMsIE1BRFZfRE9OVE5FRUQpOwogI2VsaWYg
SEFWRShNQURWX0ZSRUVfUkVVU0UpCiAgICAgLy8gVG8gc3VwcG9ydCB0aGUgInJlc2VydmUgdGhl
biBjb21taXQiIG1vZGVsLCB3ZSBoYXZlIHRvIGluaXRpYWxseSBkZWNvbW1pdC4KICAgICB3aGls
ZSAobWFkdmlzZShyZXN1bHQsIGJ5dGVzLCBNQURWX0ZSRUVfUkVVU0FCTEUpID09IC0xICYmIGVy
cm5vID09IEVBR0FJTikgeyB9CiAjZW5kaWYKKworI2VuZGlmIC8vIE9TKFFOWCkKKwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyMiwyNSArMTMwLDM4IEBAIHZvaWQqIE9TQWxsb2NhdG9y
OjpyZXNlcnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywgVXNhZ2UgdXNhZ2UsIGJvb2wgd3JpdGFi
bGUsIGJvCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZCBPU0FsbG9jYXRvcjo6Y29tbWl0
KHZvaWQqIGFkZHJlc3MsIHNpemVfdCBieXRlcywgYm9vbCwgYm9vbCkKK3ZvaWQgT1NBbGxvY2F0
b3I6OmNvbW1pdCh2b2lkKiBhZGRyZXNzLCBzaXplX3QgYnl0ZXMsIGJvb2wgd3JpdGFibGUsIGJv
b2wgZXhlY3V0YWJsZSkKIHsKICNpZiBPUyhRTlgpCi0gICAgcG9zaXhfbWFkdmlzZShhZGRyZXNz
LCBieXRlcywgUE9TSVhfTUFEVl9XSUxMTkVFRCk7CisgICAgaW50IHByb3RlY3Rpb24gPSBQUk9U
X1JFQUQ7CisgICAgaWYgKHdyaXRhYmxlKQorICAgICAgICBwcm90ZWN0aW9uIHw9IFBST1RfV1JJ
VEU7CisgICAgaWYgKGV4ZWN1dGFibGUpCisgICAgICAgIHByb3RlY3Rpb24gfD0gUFJPVF9FWEVD
OworICAgIGlmIChNQVBfRkFJTEVEID09IG1tYXAoYWRkcmVzcywgYnl0ZXMsIHByb3RlY3Rpb24s
IE1BUF9GSVhFRCB8IE1BUF9QUklWQVRFIHwgTUFQX0FOT04sIC0xLCAwKSkKKyAgICAgICAgQ1JB
U0goKTsKICNlbGlmIE9TKExJTlVYKQorICAgIFVOVVNFRF9QQVJBTSh3cml0YWJsZSk7CisgICAg
VU5VU0VEX1BBUkFNKGV4ZWN1dGFibGUpOwogICAgIG1hZHZpc2UoYWRkcmVzcywgYnl0ZXMsIE1B
RFZfV0lMTE5FRUQpOwogI2VsaWYgSEFWRShNQURWX0ZSRUVfUkVVU0UpCisgICAgVU5VU0VEX1BB
UkFNKHdyaXRhYmxlKTsKKyAgICBVTlVTRURfUEFSQU0oZXhlY3V0YWJsZSk7CiAgICAgd2hpbGUg
KG1hZHZpc2UoYWRkcmVzcywgYnl0ZXMsIE1BRFZfRlJFRV9SRVVTRSkgPT0gLTEgJiYgZXJybm8g
PT0gRUFHQUlOKSB7IH0KICNlbHNlCiAgICAgLy8gTm9uLU1BRFZfRlJFRV9SRVVTRSByZXNlcnZh
dGlvbnMgYXV0b21hdGljYWxseSBjb21taXQgb24gZGVtYW5kLgogICAgIFVOVVNFRF9QQVJBTShh
ZGRyZXNzKTsKICAgICBVTlVTRURfUEFSQU0oYnl0ZXMpOworICAgIFVOVVNFRF9QQVJBTSh3cml0
YWJsZSk7CisgICAgVU5VU0VEX1BBUkFNKGV4ZWN1dGFibGUpOwogI2VuZGlmCiB9CiAKIHZvaWQg
T1NBbGxvY2F0b3I6OmRlY29tbWl0KHZvaWQqIGFkZHJlc3MsIHNpemVfdCBieXRlcykKIHsKICNp
ZiBPUyhRTlgpCi0gICAgcG9zaXhfbWFkdmlzZShhZGRyZXNzLCBieXRlcywgUE9TSVhfTUFEVl9E
T05UTkVFRCk7CisgICAgLy8gVXNlIFBST1RfTk9ORSBhbmQgTUFQX0xBWlkgdG8gZGVjb21taXQg
dGhlIHBhZ2VzLgorICAgIG1tYXAoYWRkcmVzcywgYnl0ZXMsIFBST1RfTk9ORSwgTUFQX0ZJWEVE
IHwgTUFQX0xBWlkgfCBNQVBfUFJJVkFURSB8IE1BUF9BTk9OLCAtMSwgMCk7CiAjZWxpZiBPUyhM
SU5VWCkKICAgICBtYWR2aXNlKGFkZHJlc3MsIGJ5dGVzLCBNQURWX0RPTlRORUVEKTsKICNlbGlm
IEhBVkUoTUFEVl9GUkVFX1JFVVNFKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>