<?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>75835</bug_id>
          
          <creation_ts>2012-01-09 01:03:23 -0800</creation_ts>
          <short_desc>Add vsma in VectorMath to handle vector scale multiply and add and use it in AudioBus</short_desc>
          <delta_ts>2012-01-12 20:28:14 -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>Web Audio</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>74345</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wei James (wistoch)">james.wei</reporter>
          <assigned_to name="Wei James (wistoch)">james.wei</assigned_to>
          <cc>crogers</cc>
    
    <cc>james.wei</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kbr</cc>
    
    <cc>rtoy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>532030</commentid>
    <comment_count>0</comment_count>
    <who name="Wei James (wistoch)">james.wei</who>
    <bug_when>2012-01-09 01:03:23 -0800</bug_when>
    <thetext>Add vsma in VectorMath to handle vector scale multiply and add and use it in AudioBus</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532035</commentid>
    <comment_count>1</comment_count>
      <attachid>121630</attachid>
    <who name="Wei James (wistoch)">james.wei</who>
    <bug_when>2012-01-09 01:14:23 -0800</bug_when>
    <thetext>Created attachment 121630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533973</commentid>
    <comment_count>2</comment_count>
      <attachid>121630</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-01-11 09:50:29 -0800</bug_when>
    <thetext>Comment on attachment 121630
Patch

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

&gt; Source/WebCore/platform/audio/VectorMath.cpp:142
&gt; +

Are we missing the case where n (framesToProcess) is not a multiple of 4?  If framesToProcess is 5, tailFrames = 1 and endP = destP + 4.  The while loop will be executed once, processing 4 frames.  We&apos;re missing the last frame, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534405</commentid>
    <comment_count>3</comment_count>
      <attachid>121630</attachid>
    <who name="Wei James (wistoch)">james.wei</who>
    <bug_when>2012-01-11 16:41:34 -0800</bug_when>
    <thetext>Comment on attachment 121630
Patch

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

&gt;&gt; Source/WebCore/platform/audio/VectorMath.cpp:142
&gt;&gt; +
&gt; 
&gt; Are we missing the case where n (framesToProcess) is not a multiple of 4?  If framesToProcess is 5, tailFrames = 1 and endP = destP + 4.  The while loop will be executed once, processing 4 frames.  We&apos;re missing the last frame, right?

if the n is not a multiple of 4, in the line 148, n will be assigned to tailFrames, and the code after the #endif will be executed to handle the last frame.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>534922</commentid>
    <comment_count>4</comment_count>
      <attachid>121630</attachid>
    <who name="Raymond Toy">rtoy</who>
    <bug_when>2012-01-12 09:49:40 -0800</bug_when>
    <thetext>Comment on attachment 121630
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/audio/VectorMath.cpp:142
&gt;&gt;&gt; +
&gt;&gt; 
&gt;&gt; Are we missing the case where n (framesToProcess) is not a multiple of 4?  If framesToProcess is 5, tailFrames = 1 and endP = destP + 4.  The while loop will be executed once, processing 4 frames.  We&apos;re missing the last frame, right?
&gt; 
&gt; if the n is not a multiple of 4, in the line 148, n will be assigned to tailFrames, and the code after the #endif will be executed to handle the last frame.

Sorry about that.  Looks good, then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535198</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-01-12 14:55:59 -0800</bug_when>
    <thetext>Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535228</commentid>
    <comment_count>6</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-01-12 15:40:45 -0800</bug_when>
    <thetext>The patch in bug #74345 also adds vsma support.  If both patches are approved, we&apos;ll have to make sure not to step on each others&apos; toes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535243</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-01-12 15:53:23 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; The patch in bug #74345 also adds vsma support.  If both patches are approved, we&apos;ll have to make sure not to step on each others&apos; toes.

Agreed.  I think it&apos;s easiest if we can land this patch first.  And then #74345 can be simplified quite a bit.  Does that seem reasonable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535258</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-01-12 16:09:40 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; The patch in bug #74345 also adds vsma support.  If both patches are approved, we&apos;ll have to make sure not to step on each others&apos; toes.
&gt; 
&gt; Agreed.  I think it&apos;s easiest if we can land this patch first.  And then #74345 can be simplified quite a bit.  Does that seem reasonable?

Yup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535288</commentid>
    <comment_count>9</comment_count>
      <attachid>121630</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-01-12 16:31:52 -0800</bug_when>
    <thetext>Comment on attachment 121630
Patch

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

&gt; Source/WebCore/platform/audio/VectorMath.cpp:95
&gt; +#if defined(__ppc__) || defined(__i386__)

Sorry for the last minute change, but Jer Noble just mentioned that some of these vector functions don&apos;t have a problem with vec_translate.h.

So we should simplify this, by removing #if defined(__ppc__) || defined(__i386__) and always simply and directly call:

vDSP_vsma(sourceP, sourceStride, scale, destP, destStride, destP, destStride, framesToProcess);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535300</commentid>
    <comment_count>10</comment_count>
      <attachid>122338</attachid>
    <who name="Wei James (wistoch)">james.wei</who>
    <bug_when>2012-01-12 16:49:12 -0800</bug_when>
    <thetext>Created attachment 122338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535301</commentid>
    <comment_count>11</comment_count>
    <who name="Wei James (wistoch)">james.wei</who>
    <bug_when>2012-01-12 16:49:39 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 121630 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121630&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/audio/VectorMath.cpp:95
&gt; &gt; +#if defined(__ppc__) || defined(__i386__)
&gt; 
&gt; Sorry for the last minute change, but Jer Noble just mentioned that some of these vector functions don&apos;t have a problem with vec_translate.h.
&gt; 
&gt; So we should simplify this, by removing #if defined(__ppc__) || defined(__i386__) and always simply and directly call:
&gt; 
&gt; vDSP_vsma(sourceP, sourceStride, scale, destP, destStride, destP, destStride, framesToProcess);

thanks. patch updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535302</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-01-12 16:51:24 -0800</bug_when>
    <thetext>Thanks James, looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535383</commentid>
    <comment_count>13</comment_count>
      <attachid>122338</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-01-12 19:19:30 -0800</bug_when>
    <thetext>Comment on attachment 122338
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535406</commentid>
    <comment_count>14</comment_count>
      <attachid>122338</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-12 20:28:08 -0800</bug_when>
    <thetext>Comment on attachment 122338
Patch

Clearing flags on attachment: 122338

Committed r104893: &lt;http://trac.webkit.org/changeset/104893&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535407</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-12 20:28:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121630</attachid>
            <date>2012-01-09 01:14:23 -0800</date>
            <delta_ts>2012-01-12 16:49:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75835-20120109171510.patch</filename>
            <type>text/plain</type>
            <size>6078</size>
            <attacher name="Wei James (wistoch)">james.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmExOTcwODExZmExYzk0
OTU4Yjk1MDMxY2Q2YjFlZDQ3NDcyYWZkMC4uNGNlNDczZWE1MTQ0MWJhNmFhMzM2ODYyNDM5M2M2
ODNiM2RiYTkxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAxLTA5ICBXZWkg
SmFtZXMgIDxqYW1lcy53ZWlAaW50ZWwuY29tPgorCisgICAgICAgIEFkZCB2c21hIGluIFZlY3Rv
ck1hdGggdG8gaGFuZGxlIHZlY3RvciBzY2FsZSBtdWx0aXBseSBhbmQgYWRkIGFuZCB1c2UgaXQg
aW4gQXVkaW9CdXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc1ODM1CisKKyAgICAgICAgV2hlbiBzdW1taW5nIGEgYXVkaW8gYnVzLCB0aGUgc291cmNl
IGlzIG11bHRpcGxpZWQgd2l0aCB0aGUgc2NhbGUgYW5kCisgICAgICAgIHRoZW4gc3VtbWVkIGlu
dG8gdGhlIGRlc3RpbmF0aW9uIGJ1cy4gQWRkIHRoaXMgZnVuY3Rpb24gdG8gZnVsZmlsbCBpdC4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9WZWN0b3JN
YXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZlY3Rvck1hdGg6OnZzbWEpOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1ZlY3Rvck1hdGguaDoKKwogMjAxMi0wMS0wOCAgQmVuamFtaW4gUG91
bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQnVpbGQgZml4OiBTY3JvbGxB
bmltYXRvck1hYyBoYXMgbWlzc2luZyBpbml0aWFsaXplciBpbiBzeXN0ZW1VcHRpbWUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCmluZGV4IDgwMDE5N2UyZGY4
ZDNhNjRmYTMzMDE3ZTIwNWEwNjg0NGFkNjYwMWMuLjkwMjlmZjgzZWQwZjk0YjFkZTA5YzFiOGEw
YWI3MDA2MjI0N2IzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5jcHAKQEAgLTI1NCwxMCArMjU0LDExIEBAIHZvaWQgQXVkaW9CdXM6OnN1bUZyb20oY29uc3Qg
QXVkaW9CdXMgJnNvdXJjZUJ1cykKICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gc3VtUjsgXAog
ICAgIH0KIAotLy8gRklYTUU6IHRoaXMgY2FuIGJlIG9wdGltaXplZCB3aXRoIGFkZGl0aW9uYWwg
VmVjdG9yTWF0aCBmdW5jdGlvbnMuIAogI2RlZmluZSBTVEVSRU9fU1VNX1YgXAotICAgIGZvciAo
OyBrIDwgZnJhbWVzVG9Qcm9jZXNzOyArK2spIFwKLSAgICAgICAgU1RFUkVPX1NVTQorICAgIHsg
XAorICAgICAgICB2c21hKHNvdXJjZUwsIDEsICZnYWluLCBkZXN0aW5hdGlvbkwsIDEsIGZyYW1l
c1RvUHJvY2VzcyAtIGspOyBcCisgICAgICAgIHZzbWEoc291cmNlUiwgMSwgJmdhaW4sIGRlc3Rp
bmF0aW9uUiwgMSwgZnJhbWVzVG9Qcm9jZXNzIC0gayk7IFwKKyAgICB9CiAKIC8vIE1vbm8gLT4g
c3RlcmVvIChtaXggZXF1YWxseSBpbnRvIEwgYW5kIFIpCiAvLyBGSVhNRTogUmVhbGx5IHdlIHNo
b3VsZCBhcHBseSBhbiBlcXVhbC1wb3dlciBzY2FsaW5nIGZhY3RvciBoZXJlLCBzaW5jZSB3ZSdy
ZSBlZmZlY3RpdmVseSBwYW5uaW5nIGNlbnRlci4uLgpAQCAtMjcxLDggKzI3MiwxMCBAQCB2b2lk
IEF1ZGlvQnVzOjpzdW1Gcm9tKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMpCiAgICAgfQogCiAj
ZGVmaW5lIE1PTk8yU1RFUkVPX1NVTV9WIFwKLSAgICBmb3IgKDsgayA8IGZyYW1lc1RvUHJvY2Vz
czsgKytrKSBcCi0gICAgICAgIE1PTk8yU1RFUkVPX1NVTSAKKyAgICB7IFwKKyAgICAgICAgdnNt
YShzb3VyY2VMLCAxLCAmZ2FpbiwgZGVzdGluYXRpb25MLCAxLCBmcmFtZXNUb1Byb2Nlc3MgLSBr
KTsgXAorICAgICAgICB2c21hKHNvdXJjZUwsIDEsICZnYWluLCBkZXN0aW5hdGlvblIsIDEsIGZy
YW1lc1RvUHJvY2VzcyAtIGspOyBcCisgICAgfQogICAgIAogI2RlZmluZSBNT05PX1NVTSBcCiAg
ICAgeyBcCkBAIC0yODEsOCArMjg0LDkgQEAgdm9pZCBBdWRpb0J1czo6c3VtRnJvbShjb25zdCBB
dWRpb0J1cyAmc291cmNlQnVzKQogICAgIH0KIAogI2RlZmluZSBNT05PX1NVTV9WIFwKLSAgICBm
b3IgKDsgayA8IGZyYW1lc1RvUHJvY2VzczsgKytrKSBcCi0gICAgICAgIE1PTk9fU1VNCisgICAg
eyBcCisgICAgICAgIHZzbWEoc291cmNlTCwgMSwgJmdhaW4sIGRlc3RpbmF0aW9uTCwgMSwgZnJh
bWVzVG9Qcm9jZXNzIC0gayk7IFwKKyAgICB9IAogCiAjZGVmaW5lIFNURVJFT19OT19TVU0gXAog
ICAgIHsgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vVmVjdG9y
TWF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmNwcApp
bmRleCA3MWUxMDE0NzAzNDZjNzk2OTFkODVlNzYxNmMwYWUwMWUxMzk2MTA2Li43ZjFmN2Q1NDgy
MTMxYzY5MDFmZWEzN2QzOWI5MmI5OTUzMWVlMDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmNwcApAQCAtOTAsOCArOTAsNzMgQEAgdm9pZCB6dm11bChj
b25zdCBmbG9hdCogcmVhbDFQLCBjb25zdCBmbG9hdCogaW1hZzFQLCBjb25zdCBmbG9hdCogcmVh
bDJQLCBjb25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgdnNtYShjb25zdCBmbG9hdCogc291cmNlUCwg
aW50IHNvdXJjZVN0cmlkZSwgY29uc3QgZmxvYXQqIHNjYWxlLCBmbG9hdCogZGVzdFAsIGludCBk
ZXN0U3RyaWRlLCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQoreworI2lmIGRlZmluZWQoX19wcGNf
XykgfHwgZGVmaW5lZChfX2kzODZfXykKKyAgICA6OnZzbWEoc291cmNlUCwgc291cmNlU3RyaWRl
LCBzY2FsZSwgZGVzdFAsIGRlc3RTdHJpZGUsIGRlc3RQLCBkZXN0U3RyaWRlLCBmcmFtZXNUb1By
b2Nlc3MpOworI2Vsc2UKKyAgICB2RFNQX3ZzbWEoc291cmNlUCwgc291cmNlU3RyaWRlLCBzY2Fs
ZSwgZGVzdFAsIGRlc3RTdHJpZGUsIGRlc3RQLCBkZXN0U3RyaWRlLCBmcmFtZXNUb1Byb2Nlc3Mp
OworI2VuZGlmCit9CisKICNlbHNlCiAKK3ZvaWQgdnNtYShjb25zdCBmbG9hdCogc291cmNlUCwg
aW50IHNvdXJjZVN0cmlkZSwgY29uc3QgZmxvYXQqIHNjYWxlLCBmbG9hdCogZGVzdFAsIGludCBk
ZXN0U3RyaWRlLCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQoreworICAgIGludCBuID0gZnJhbWVz
VG9Qcm9jZXNzOworCisjaWZkZWYgX19TU0UyX18KKyAgICBpZiAoKHNvdXJjZVN0cmlkZSA9PSAx
KSAmJiAoZGVzdFN0cmlkZSA9PSAxKSkgeworICAgICAgICBmbG9hdCBrID0gKnNjYWxlOworCisg
ICAgICAgIC8vIElmIHRoZSBzb3VyY2VQIGFkZHJlc3MgaXMgbm90IDE2LWJ5dGUgYWxpZ25lZCwg
dGhlIGZpcnN0IHNldmVyYWwgZnJhbWVzIChhdCBtb3N0IHRocmVlKSBzaG91bGQgYmUgcHJvY2Vz
c2VkIHNlcGVyYXRlbHkuCisgICAgICAgIHdoaWxlICgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KHNvdXJjZVApICYgMHgwRikgJiYgbikgeworICAgICAgICAgICAgKmRlc3RQICs9IGsgKiAq
c291cmNlUDsKKyAgICAgICAgICAgIHNvdXJjZVArKzsKKyAgICAgICAgICAgIGRlc3RQKys7Cisg
ICAgICAgICAgICBuLS07CisgICAgICAgIH0KKworICAgICAgICAvLyBOb3cgdGhlIHNvdXJjZVAg
YWRkcmVzcyBhbGlnbmVkIGFuZCBzdGFydCB0byBhcHBseSBTU0UuCisgICAgICAgIGludCB0YWls
RnJhbWVzID0gbiAlIDQ7CisgICAgICAgIGZsb2F0KiBlbmRQID0gZGVzdFAgKyBuIC0gdGFpbEZy
YW1lczsKKworICAgICAgICBfX20xMjggcFNvdXJjZTsKKyAgICAgICAgX19tMTI4IGRlc3Q7Cisg
ICAgICAgIF9fbTEyOCB0ZW1wOworICAgICAgICBfX20xMjggbVNjYWxlID0gX21tX3NldF9wczEo
ayk7CisKKyAgICAgICAgYm9vbCBkZXN0QWxpZ25lZCA9ICEocmVpbnRlcnByZXRfY2FzdDx1aW50
cHRyX3Q+KGRlc3RQKSAmIDB4MEYpOworCisjZGVmaW5lIFNTRTJfTVVMVF9BREQobG9hZEluc3Ry
LCBzdG9yZUluc3RyKSAgICAgICAgXAorICAgICAgICAgICAgd2hpbGUgKGRlc3RQIDwgZW5kUCkg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgcFNvdXJjZSA9IF9tbV9sb2FkX3Bz
KHNvdXJjZVApOyAgICAgXAorICAgICAgICAgICAgICAgIHRlbXAgPSBfbW1fbXVsX3BzKHBTb3Vy
Y2UsIG1TY2FsZSk7IFwKKyAgICAgICAgICAgICAgICBkZXN0ID0gX21tXyMjbG9hZEluc3RyIyNf
cHMoZGVzdFApOyBcCisgICAgICAgICAgICAgICAgZGVzdCA9IF9tbV9hZGRfcHMoZGVzdCwgdGVt
cCk7ICAgICAgXAorICAgICAgICAgICAgICAgIF9tbV8jI3N0b3JlSW5zdHIjI19wcyhkZXN0UCwg
ZGVzdCk7IFwKKyAgICAgICAgICAgICAgICBzb3VyY2VQICs9IDQ7ICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICAgICAgZGVzdFAgKz0gNDsgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgICAgfQorCisgICAgICAgIGlmIChkZXN0QWxpZ25lZCkgCisgICAgICAg
ICAgICBTU0UyX01VTFRfQUREKGxvYWQsIHN0b3JlKQorICAgICAgICBlbHNlIAorICAgICAgICAg
ICAgU1NFMl9NVUxUX0FERChsb2FkdSwgc3RvcmV1KQorCisgICAgICAgIG4gPSB0YWlsRnJhbWVz
OworICAgIH0KKyNlbmRpZgorICAgIHdoaWxlIChuKSB7CisgICAgICAgICpkZXN0UCArPSAqc291
cmNlUCAqICpzY2FsZTsKKyAgICAgICAgc291cmNlUCArPSBzb3VyY2VTdHJpZGU7CisgICAgICAg
IGRlc3RQICs9IGRlc3RTdHJpZGU7CisgICAgICAgIG4tLTsKKyAgICB9Cit9CisKKwogdm9pZCB2
c211bChjb25zdCBmbG9hdCogc291cmNlUCwgaW50IHNvdXJjZVN0cmlkZSwgY29uc3QgZmxvYXQq
IHNjYWxlLCBmbG9hdCogZGVzdFAsIGludCBkZXN0U3RyaWRlLCBzaXplX3QgZnJhbWVzVG9Qcm9j
ZXNzKQogewogI2lmZGVmIF9fU1NFMl9fCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9W
ZWN0b3JNYXRoLmgKaW5kZXggNWFlODBkYWI5MzFiYjE1YWJjYzVlZGJjOTUwN2UxMjdkMTBlZTVh
Zi4uZWFjYjM3NmI1ODJkYzYyMzFmMDk4YTdiZGQ0MWJlODYwZTY2MWVmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vVmVjdG9yTWF0aC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1ZlY3Rvck1hdGguaApAQCAtMzEsNiArMzEsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBWZWN0b3JNYXRoIHsKIAorLy8gVmVjdG9yIHNj
YWxhciBtdWx0aXBseSBhbmQgdGhlbiBhZGQuCit2b2lkIHZzbWEoY29uc3QgZmxvYXQqIHNvdXJj
ZVAsIGludCBzb3VyY2VTdHJpZGUsIGNvbnN0IGZsb2F0KiBzY2FsZSwgZmxvYXQqIGRlc3RQLCBp
bnQgZGVzdFN0cmlkZSwgc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CisKIHZvaWQgdnNtdWwoY29u
c3QgZmxvYXQqIHNvdXJjZVAsIGludCBzb3VyY2VTdHJpZGUsIGNvbnN0IGZsb2F0KiBzY2FsZSwg
ZmxvYXQqIGRlc3RQLCBpbnQgZGVzdFN0cmlkZSwgc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CiB2
b2lkIHZhZGQoY29uc3QgZmxvYXQqIHNvdXJjZTFQLCBpbnQgc291cmNlU3RyaWRlMSwgY29uc3Qg
ZmxvYXQqIHNvdXJjZTJQLCBpbnQgc291cmNlU3RyaWRlMiwgZmxvYXQqIGRlc3RQLCBpbnQgZGVz
dFN0cmlkZSwgc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122338</attachid>
            <date>2012-01-12 16:49:12 -0800</date>
            <delta_ts>2012-01-12 20:28:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75835-20120113085000.patch</filename>
            <type>text/plain</type>
            <size>5922</size>
            <attacher name="Wei James (wistoch)">james.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmExOTcwODExZmExYzk0
OTU4Yjk1MDMxY2Q2YjFlZDQ3NDcyYWZkMC4uNGNlNDczZWE1MTQ0MWJhNmFhMzM2ODYyNDM5M2M2
ODNiM2RiYTkxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAxLTA5ICBXZWkg
SmFtZXMgIDxqYW1lcy53ZWlAaW50ZWwuY29tPgorCisgICAgICAgIEFkZCB2c21hIGluIFZlY3Rv
ck1hdGggdG8gaGFuZGxlIHZlY3RvciBzY2FsZSBtdWx0aXBseSBhbmQgYWRkIGFuZCB1c2UgaXQg
aW4gQXVkaW9CdXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc1ODM1CisKKyAgICAgICAgV2hlbiBzdW1taW5nIGEgYXVkaW8gYnVzLCB0aGUgc291cmNl
IGlzIG11bHRpcGxpZWQgd2l0aCB0aGUgc2NhbGUgYW5kCisgICAgICAgIHRoZW4gc3VtbWVkIGlu
dG8gdGhlIGRlc3RpbmF0aW9uIGJ1cy4gQWRkIHRoaXMgZnVuY3Rpb24gdG8gZnVsZmlsbCBpdC4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9WZWN0b3JN
YXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZlY3Rvck1hdGg6OnZzbWEpOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL1ZlY3Rvck1hdGguaDoKKwogMjAxMi0wMS0wOCAgQmVuamFtaW4gUG91
bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQnVpbGQgZml4OiBTY3JvbGxB
bmltYXRvck1hYyBoYXMgbWlzc2luZyBpbml0aWFsaXplciBpbiBzeXN0ZW1VcHRpbWUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuY3BwCmluZGV4IDgwMDE5N2UyZGY4
ZDNhNjRmYTMzMDE3ZTIwNWEwNjg0NGFkNjYwMWMuLjkwMjlmZjgzZWQwZjk0YjFkZTA5YzFiOGEw
YWI3MDA2MjI0N2IzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1
cy5jcHAKQEAgLTI1NCwxMCArMjU0LDExIEBAIHZvaWQgQXVkaW9CdXM6OnN1bUZyb20oY29uc3Qg
QXVkaW9CdXMgJnNvdXJjZUJ1cykKICAgICAgICAgKmRlc3RpbmF0aW9uUisrID0gc3VtUjsgXAog
ICAgIH0KIAotLy8gRklYTUU6IHRoaXMgY2FuIGJlIG9wdGltaXplZCB3aXRoIGFkZGl0aW9uYWwg
VmVjdG9yTWF0aCBmdW5jdGlvbnMuIAogI2RlZmluZSBTVEVSRU9fU1VNX1YgXAotICAgIGZvciAo
OyBrIDwgZnJhbWVzVG9Qcm9jZXNzOyArK2spIFwKLSAgICAgICAgU1RFUkVPX1NVTQorICAgIHsg
XAorICAgICAgICB2c21hKHNvdXJjZUwsIDEsICZnYWluLCBkZXN0aW5hdGlvbkwsIDEsIGZyYW1l
c1RvUHJvY2VzcyAtIGspOyBcCisgICAgICAgIHZzbWEoc291cmNlUiwgMSwgJmdhaW4sIGRlc3Rp
bmF0aW9uUiwgMSwgZnJhbWVzVG9Qcm9jZXNzIC0gayk7IFwKKyAgICB9CiAKIC8vIE1vbm8gLT4g
c3RlcmVvIChtaXggZXF1YWxseSBpbnRvIEwgYW5kIFIpCiAvLyBGSVhNRTogUmVhbGx5IHdlIHNo
b3VsZCBhcHBseSBhbiBlcXVhbC1wb3dlciBzY2FsaW5nIGZhY3RvciBoZXJlLCBzaW5jZSB3ZSdy
ZSBlZmZlY3RpdmVseSBwYW5uaW5nIGNlbnRlci4uLgpAQCAtMjcxLDggKzI3MiwxMCBAQCB2b2lk
IEF1ZGlvQnVzOjpzdW1Gcm9tKGNvbnN0IEF1ZGlvQnVzICZzb3VyY2VCdXMpCiAgICAgfQogCiAj
ZGVmaW5lIE1PTk8yU1RFUkVPX1NVTV9WIFwKLSAgICBmb3IgKDsgayA8IGZyYW1lc1RvUHJvY2Vz
czsgKytrKSBcCi0gICAgICAgIE1PTk8yU1RFUkVPX1NVTSAKKyAgICB7IFwKKyAgICAgICAgdnNt
YShzb3VyY2VMLCAxLCAmZ2FpbiwgZGVzdGluYXRpb25MLCAxLCBmcmFtZXNUb1Byb2Nlc3MgLSBr
KTsgXAorICAgICAgICB2c21hKHNvdXJjZUwsIDEsICZnYWluLCBkZXN0aW5hdGlvblIsIDEsIGZy
YW1lc1RvUHJvY2VzcyAtIGspOyBcCisgICAgfQogICAgIAogI2RlZmluZSBNT05PX1NVTSBcCiAg
ICAgeyBcCkBAIC0yODEsOCArMjg0LDkgQEAgdm9pZCBBdWRpb0J1czo6c3VtRnJvbShjb25zdCBB
dWRpb0J1cyAmc291cmNlQnVzKQogICAgIH0KIAogI2RlZmluZSBNT05PX1NVTV9WIFwKLSAgICBm
b3IgKDsgayA8IGZyYW1lc1RvUHJvY2VzczsgKytrKSBcCi0gICAgICAgIE1PTk9fU1VNCisgICAg
eyBcCisgICAgICAgIHZzbWEoc291cmNlTCwgMSwgJmdhaW4sIGRlc3RpbmF0aW9uTCwgMSwgZnJh
bWVzVG9Qcm9jZXNzIC0gayk7IFwKKyAgICB9IAogCiAjZGVmaW5lIFNURVJFT19OT19TVU0gXAog
ICAgIHsgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vVmVjdG9y
TWF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmNwcApp
bmRleCA3MWUxMDE0NzAzNDZjNzk2OTFkODVlNzYxNmMwYWUwMWUxMzk2MTA2Li4yMTkyOThmYWEy
MmM1MDBmZjBiMDZlZWM4ZWM0N2FkZGQ0NTkxZmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmNwcApAQCAtOTAsOCArOTAsNjkgQEAgdm9pZCB6dm11bChj
b25zdCBmbG9hdCogcmVhbDFQLCBjb25zdCBmbG9hdCogaW1hZzFQLCBjb25zdCBmbG9hdCogcmVh
bDJQLCBjb25zdAogI2VuZGlmCiB9CiAKK3ZvaWQgdnNtYShjb25zdCBmbG9hdCogc291cmNlUCwg
aW50IHNvdXJjZVN0cmlkZSwgY29uc3QgZmxvYXQqIHNjYWxlLCBmbG9hdCogZGVzdFAsIGludCBk
ZXN0U3RyaWRlLCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQoreworICAgIHZEU1BfdnNtYShzb3Vy
Y2VQLCBzb3VyY2VTdHJpZGUsIHNjYWxlLCBkZXN0UCwgZGVzdFN0cmlkZSwgZGVzdFAsIGRlc3RT
dHJpZGUsIGZyYW1lc1RvUHJvY2Vzcyk7Cit9CisKICNlbHNlCiAKK3ZvaWQgdnNtYShjb25zdCBm
bG9hdCogc291cmNlUCwgaW50IHNvdXJjZVN0cmlkZSwgY29uc3QgZmxvYXQqIHNjYWxlLCBmbG9h
dCogZGVzdFAsIGludCBkZXN0U3RyaWRlLCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQoreworICAg
IGludCBuID0gZnJhbWVzVG9Qcm9jZXNzOworCisjaWZkZWYgX19TU0UyX18KKyAgICBpZiAoKHNv
dXJjZVN0cmlkZSA9PSAxKSAmJiAoZGVzdFN0cmlkZSA9PSAxKSkgeworICAgICAgICBmbG9hdCBr
ID0gKnNjYWxlOworCisgICAgICAgIC8vIElmIHRoZSBzb3VyY2VQIGFkZHJlc3MgaXMgbm90IDE2
LWJ5dGUgYWxpZ25lZCwgdGhlIGZpcnN0IHNldmVyYWwgZnJhbWVzIChhdCBtb3N0IHRocmVlKSBz
aG91bGQgYmUgcHJvY2Vzc2VkIHNlcGVyYXRlbHkuCisgICAgICAgIHdoaWxlICgocmVpbnRlcnBy
ZXRfY2FzdDx1aW50cHRyX3Q+KHNvdXJjZVApICYgMHgwRikgJiYgbikgeworICAgICAgICAgICAg
KmRlc3RQICs9IGsgKiAqc291cmNlUDsKKyAgICAgICAgICAgIHNvdXJjZVArKzsKKyAgICAgICAg
ICAgIGRlc3RQKys7CisgICAgICAgICAgICBuLS07CisgICAgICAgIH0KKworICAgICAgICAvLyBO
b3cgdGhlIHNvdXJjZVAgYWRkcmVzcyBhbGlnbmVkIGFuZCBzdGFydCB0byBhcHBseSBTU0UuCisg
ICAgICAgIGludCB0YWlsRnJhbWVzID0gbiAlIDQ7CisgICAgICAgIGZsb2F0KiBlbmRQID0gZGVz
dFAgKyBuIC0gdGFpbEZyYW1lczsKKworICAgICAgICBfX20xMjggcFNvdXJjZTsKKyAgICAgICAg
X19tMTI4IGRlc3Q7CisgICAgICAgIF9fbTEyOCB0ZW1wOworICAgICAgICBfX20xMjggbVNjYWxl
ID0gX21tX3NldF9wczEoayk7CisKKyAgICAgICAgYm9vbCBkZXN0QWxpZ25lZCA9ICEocmVpbnRl
cnByZXRfY2FzdDx1aW50cHRyX3Q+KGRlc3RQKSAmIDB4MEYpOworCisjZGVmaW5lIFNTRTJfTVVM
VF9BREQobG9hZEluc3RyLCBzdG9yZUluc3RyKSAgICAgICAgXAorICAgICAgICAgICAgd2hpbGUg
KGRlc3RQIDwgZW5kUCkgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgcFNvdXJj
ZSA9IF9tbV9sb2FkX3BzKHNvdXJjZVApOyAgICAgXAorICAgICAgICAgICAgICAgIHRlbXAgPSBf
bW1fbXVsX3BzKHBTb3VyY2UsIG1TY2FsZSk7IFwKKyAgICAgICAgICAgICAgICBkZXN0ID0gX21t
XyMjbG9hZEluc3RyIyNfcHMoZGVzdFApOyBcCisgICAgICAgICAgICAgICAgZGVzdCA9IF9tbV9h
ZGRfcHMoZGVzdCwgdGVtcCk7ICAgICAgXAorICAgICAgICAgICAgICAgIF9tbV8jI3N0b3JlSW5z
dHIjI19wcyhkZXN0UCwgZGVzdCk7IFwKKyAgICAgICAgICAgICAgICBzb3VyY2VQICs9IDQ7ICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgZGVzdFAgKz0gNDsgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfQorCisgICAgICAgIGlmIChkZXN0QWxp
Z25lZCkgCisgICAgICAgICAgICBTU0UyX01VTFRfQUREKGxvYWQsIHN0b3JlKQorICAgICAgICBl
bHNlIAorICAgICAgICAgICAgU1NFMl9NVUxUX0FERChsb2FkdSwgc3RvcmV1KQorCisgICAgICAg
IG4gPSB0YWlsRnJhbWVzOworICAgIH0KKyNlbmRpZgorICAgIHdoaWxlIChuKSB7CisgICAgICAg
ICpkZXN0UCArPSAqc291cmNlUCAqICpzY2FsZTsKKyAgICAgICAgc291cmNlUCArPSBzb3VyY2VT
dHJpZGU7CisgICAgICAgIGRlc3RQICs9IGRlc3RTdHJpZGU7CisgICAgICAgIG4tLTsKKyAgICB9
Cit9CisKKwogdm9pZCB2c211bChjb25zdCBmbG9hdCogc291cmNlUCwgaW50IHNvdXJjZVN0cmlk
ZSwgY29uc3QgZmxvYXQqIHNjYWxlLCBmbG9hdCogZGVzdFAsIGludCBkZXN0U3RyaWRlLCBzaXpl
X3QgZnJhbWVzVG9Qcm9jZXNzKQogewogI2lmZGVmIF9fU1NFMl9fCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9WZWN0b3JNYXRoLmgKaW5kZXggNWFlODBkYWI5MzFiYjE1YWJjYzVlZGJj
OTUwN2UxMjdkMTBlZTVhZi4uZWFjYjM3NmI1ODJkYzYyMzFmMDk4YTdiZGQ0MWJlODYwZTY2MWVm
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vVmVjdG9yTWF0aC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1ZlY3Rvck1hdGguaApAQCAtMzEs
NiArMzEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSBWZWN0b3JNYXRoIHsK
IAorLy8gVmVjdG9yIHNjYWxhciBtdWx0aXBseSBhbmQgdGhlbiBhZGQuCit2b2lkIHZzbWEoY29u
c3QgZmxvYXQqIHNvdXJjZVAsIGludCBzb3VyY2VTdHJpZGUsIGNvbnN0IGZsb2F0KiBzY2FsZSwg
ZmxvYXQqIGRlc3RQLCBpbnQgZGVzdFN0cmlkZSwgc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CisK
IHZvaWQgdnNtdWwoY29uc3QgZmxvYXQqIHNvdXJjZVAsIGludCBzb3VyY2VTdHJpZGUsIGNvbnN0
IGZsb2F0KiBzY2FsZSwgZmxvYXQqIGRlc3RQLCBpbnQgZGVzdFN0cmlkZSwgc2l6ZV90IGZyYW1l
c1RvUHJvY2Vzcyk7CiB2b2lkIHZhZGQoY29uc3QgZmxvYXQqIHNvdXJjZTFQLCBpbnQgc291cmNl
U3RyaWRlMSwgY29uc3QgZmxvYXQqIHNvdXJjZTJQLCBpbnQgc291cmNlU3RyaWRlMiwgZmxvYXQq
IGRlc3RQLCBpbnQgZGVzdFN0cmlkZSwgc2l6ZV90IGZyYW1lc1RvUHJvY2Vzcyk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>