<?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>80256</bug_id>
          
          <creation_ts>2012-03-05 01:47:06 -0800</creation_ts>
          <short_desc>Optimize for DARWIN in DirectConvolver::process()</short_desc>
          <delta_ts>2012-04-19 00:20:58 -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>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>
          <dependson>75564</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Xingnan Wang">xingnan.wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>crogers</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>570521</commentid>
    <comment_count>0</comment_count>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-03-05 01:47:06 -0800</bug_when>
    <thetext>conv() function in Accelerate.framework can be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596355</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-05 00:28:17 -0700</bug_when>
    <thetext>Accelerate.framework conv() function may be optimized in DirectConvolver.cpp, but unlikely critical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604617</commentid>
    <comment_count>2</comment_count>
      <attachid>137657</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-18 00:11:32 -0700</bug_when>
    <thetext>Created attachment 137657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604622</commentid>
    <comment_count>3</comment_count>
      <attachid>137657</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-18 00:47:26 -0700</bug_when>
    <thetext>Comment on attachment 137657
Patch

Attachment 137657 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12429019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604631</commentid>
    <comment_count>4</comment_count>
      <attachid>137659</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-18 01:24:41 -0700</bug_when>
    <thetext>Created attachment 137659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604862</commentid>
    <comment_count>5</comment_count>
      <attachid>137659</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-18 10:29:39 -0700</bug_when>
    <thetext>Comment on attachment 137659
Patch

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

Xingnan, thanks for doing this - looks reasonable, but I&apos;d like to have a chance to try out the patch...

&gt; Source/WebCore/platform/audio/DirectConvolver.h:40
&gt; +#endif

Can we move this include to the .cpp file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605102</commentid>
    <comment_count>6</comment_count>
      <attachid>137659</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-18 14:39:50 -0700</bug_when>
    <thetext>Comment on attachment 137659
Patch

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

Seems to sound fine, passes layout tests, etc. just the two nits with the #include and the #if stuff:

&gt; Source/WebCore/platform/audio/DirectConvolver.cpp:88
&gt; +#if OS(DARWIN)

Instead of nesting the #if OS(DARWIN) inside of the  #if USE(WEBAUDIO_IPP)
can we instead use #elif

#if USE(WEBAUDIO_IPP)
#elif OS(DARWIN)
#else
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605292</commentid>
    <comment_count>7</comment_count>
      <attachid>137815</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-18 19:10:28 -0700</bug_when>
    <thetext>Created attachment 137815
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605293</commentid>
    <comment_count>8</comment_count>
      <attachid>137659</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-18 19:13:00 -0700</bug_when>
    <thetext>Comment on attachment 137659
Patch

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


Updated the patch, thanks.

&gt;&gt; Source/WebCore/platform/audio/DirectConvolver.cpp:88
&gt;&gt; +#if OS(DARWIN)
&gt; 
&gt; Instead of nesting the #if OS(DARWIN) inside of the  #if USE(WEBAUDIO_IPP)
&gt; can we instead use #elif
&gt; 
&gt; #if USE(WEBAUDIO_IPP)
&gt; #elif OS(DARWIN)
&gt; #else
&gt; #endif

Done.

&gt;&gt; Source/WebCore/platform/audio/DirectConvolver.h:40
&gt;&gt; +#endif
&gt; 
&gt; Can we move this include to the .cpp file?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605337</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-18 20:32:58 -0700</bug_when>
    <thetext>Xingnan, I&apos;m very sorry I didn&apos;t see this earlier.  I now see that your original approach was better since it&apos;s able to share more common code with the un-optimized case.  Can we try a new patch similar to patch #2, but with the header file fix?  Sorry about that.

Also, we *might* need to handle the macro insanity similar to what we do with some of the other vDSP functions in VectorMath.cpp - adding Jer Noble to verify...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605339</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-18 20:34:14 -0700</bug_when>
    <thetext>Jer, can you please have a look to see if we need the:

#if defined(__ppc__) || defined(__i386__)

stuff that some other vecLib functions need (in VectorMath.cpp

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605375</commentid>
    <comment_count>11</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2012-04-18 22:31:00 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Jer, can you please have a look to see if we need the:
&gt; 
&gt; #if defined(__ppc__) || defined(__i386__)
&gt; 
&gt; stuff that some other vecLib functions need (in VectorMath.cpp
&gt; 
&gt; Thanks!

Yep.  vDSP_conv() is defined as a macro in vDSP_translate.h on x86_64.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605402</commentid>
    <comment_count>12</comment_count>
      <attachid>137852</attachid>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-18 23:19:02 -0700</bug_when>
    <thetext>Created attachment 137852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605404</commentid>
    <comment_count>13</comment_count>
    <who name="Xingnan Wang">xingnan.wang</who>
    <bug_when>2012-04-18 23:23:28 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Created an attachment (id=137852) [details]
&gt; Patch

Updated the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605418</commentid>
    <comment_count>14</comment_count>
      <attachid>137852</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2012-04-19 00:12:43 -0700</bug_when>
    <thetext>Comment on attachment 137852
Patch

Thanks Xingnan!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605422</commentid>
    <comment_count>15</comment_count>
      <attachid>137852</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-19 00:20:53 -0700</bug_when>
    <thetext>Comment on attachment 137852
Patch

Clearing flags on attachment: 137852

Committed r114621: &lt;http://trac.webkit.org/changeset/114621&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605423</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-19 00:20:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137657</attachid>
            <date>2012-04-18 00:11:32 -0700</date>
            <delta_ts>2012-04-18 01:24:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80256-20120418151519.patch</filename>
            <type>text/plain</type>
            <size>2927</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJmZGZmMGYwY2M2Yzlj
OGQ0ZTBiNDA0ZmIxMDBkYTMwNGU0MDQ0Yy4uY2ExZmI0Yzc4NDI0OTU4MGQ3YjhhMTQyZDEzMjMx
OTgwYzM2MWZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA0LTE4ICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIE9wdGltaXplIGZv
ciBEQVJXSU4gaW4gRGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252
b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIuaDoKKwogMjAxMi0wNC0x
NyAgQW50b2luZSBMYWJvdXIgIDxwaW1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBDbGVhbiB1cCB0ZXh0dXJlIGlkcyBvbiB0aGUgaW1wbCBzaWRlIHdoZW4gbG9zaW5nIHRo
ZSBjb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJl
Y3RDb252b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlyZWN0Q29u
dm9sdmVyLmNwcAppbmRleCBmMjkwNmViY2QxMTAwZTk1YmM0OGEwNmRjZDQzMjk5ZDc4M2ViZjNk
Li42OTEwYjAxMjAwNTUzN2ZlNWQ3Y2RkZWRjMGFkYmFhNjBiZjc0ODI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0RpcmVjdENvbnZvbHZlci5jcHAKQEAgLTQ5LDkg
KzQ5LDYgQEAgRGlyZWN0Q29udm9sdmVyOjpEaXJlY3RDb252b2x2ZXIoc2l6ZV90IGlucHV0Qmxv
Y2tTaXplKQogCiB2b2lkIERpcmVjdENvbnZvbHZlcjo6cHJvY2VzcyhBdWRpb0Zsb2F0QXJyYXkq
IGNvbnZvbHV0aW9uS2VybmVsLCBjb25zdCBmbG9hdCogc291cmNlUCwgZmxvYXQqIGRlc3RQLCBz
aXplX3QgZnJhbWVzVG9Qcm9jZXNzKQogewotICAgIC8vIEZJWE1FOiBPcHRpbWl6ZSBmb3IgREFS
V0lOLCBjb252KCkgZnVuY3Rpb24gaW4gQWNjZWxlcmF0ZS5mcmFtZXdvcmsgY2FuIGJlIHVzZWQg
aGVyZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAy
NTYKLQogICAgIEFTU0VSVChmcmFtZXNUb1Byb2Nlc3MgPT0gbV9pbnB1dEJsb2NrU2l6ZSk7CiAg
ICAgaWYgKGZyYW1lc1RvUHJvY2VzcyAhPSBtX2lucHV0QmxvY2tTaXplKQogICAgICAgICByZXR1
cm47CkBAIC04OCw2ICs4NSw5IEBAIHZvaWQgRGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKEF1ZGlv
RmxvYXRBcnJheSogY29udm9sdXRpb25LZXJuZWwsIGNvbnN0IGZsb2F0KiBzCiAgICAgLy8gQ29w
eSBzYW1wbGVzIHRvIDJuZCBoYWxmIG9mIGlucHV0IGJ1ZmZlci4KICAgICBtZW1jcHkoaW5wdXRQ
LCBzb3VyY2VQLCBzaXplb2YoZmxvYXQpICogZnJhbWVzVG9Qcm9jZXNzKTsKIAorI2lmIE9TKERB
UldJTikKKyAgICBjb252KGlucHV0UCAtIGtlcm5lbFNpemUgKyAxLCAxLCBrZXJuZWxQICsga2Vy
bmVsU2l6ZSAtIDEsIC0xLCBkZXN0UCwgMSwgZnJhbWVzVG9Qcm9jZXNzLCBrZXJuZWxTaXplKTsK
KyNlbHNlCiAgICAgLy8gRklYTUU6IFRoZSBtYWNybyBjYW4gYmUgZnVydGhlciBvcHRpbWl6ZWQg
dG8gYXZvaWQgcGlwZWxpbmUgc3RhbGxzLiBPbmUgcG9zc2liaWxpdHkgaXMgdG8gbWFpbnRhaW4g
NCBzZXBhcmF0ZSBzdW1zIGFuZCBjaGFuZ2UgdGhlIG1hY3JvIHRvIENPTlZPTFZFX0ZPVVJfU0FN
UExFUy4KICNkZWZpbmUgQ09OVk9MVkVfT05FX1NBTVBMRSAgICAgICAgICAgICBcCiAgICAgc3Vt
ICs9IGlucHV0UFtpIC0gal0gKiBrZXJuZWxQW2pdOyAgXApAQCAtMzU4LDYgKzM1OCw3IEBAIHZv
aWQgRGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKEF1ZGlvRmxvYXRBcnJheSogY29udm9sdXRpb25L
ZXJuZWwsIGNvbnN0IGZsb2F0KiBzCiAgICAgICAgIGRlc3RQW2krK10gPSBzdW07CiAgICAgfQog
CisjZW5kaWYgLy8gT1MoREFSV0lOKQogICAgIC8vIENvcHkgMm5kIGhhbGYgb2YgaW5wdXQgYnVm
ZmVyIHRvIDFzdCBoYWxmLgogICAgIG1lbWNweShtX2J1ZmZlci5kYXRhKCksIGlucHV0UCwgc2l6
ZW9mKGZsb2F0KSAqIGZyYW1lc1RvUHJvY2Vzcyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0RpcmVjdENvbnZvbHZlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vRGlyZWN0Q29udm9sdmVyLmgKaW5kZXggMWNiOGM2NzJkNGFkYjFm
MDQ1YTdhNThmZjFkOTA3ODk4Mzc3ZjQxNS4uMTQ4OTUxMGZlNTJiY2FhMWFmZGQ1OTg1ZjNhZjE0
OGY3YzZiODgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGly
ZWN0Q29udm9sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlyZWN0
Q29udm9sdmVyLmgKQEAgLTM1LDYgKzM1LDEwIEBACiAjaW5jbHVkZSA8aXBwcy5oPgogI2VuZGlm
IC8vIFVTRShXRUJBVURJT19JUFApCiAKKyNpZiBPUyhEQVJXSU4pCisjaW5jbHVkZSA8QWNjZWxl
cmF0ZS9BY2NlbGVyYXRlLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBEaXJlY3RDb252b2x2ZXIgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137659</attachid>
            <date>2012-04-18 01:24:41 -0700</date>
            <delta_ts>2012-04-18 19:13:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80256-20120418162829.patch</filename>
            <type>text/plain</type>
            <size>2932</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJmZGZmMGYwY2M2Yzlj
OGQ0ZTBiNDA0ZmIxMDBkYTMwNGU0MDQ0Yy4uY2ExZmI0Yzc4NDI0OTU4MGQ3YjhhMTQyZDEzMjMx
OTgwYzM2MWZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA0LTE4ICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIE9wdGltaXplIGZv
ciBEQVJXSU4gaW4gRGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252
b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIuaDoKKwogMjAxMi0wNC0x
NyAgQW50b2luZSBMYWJvdXIgIDxwaW1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBDbGVhbiB1cCB0ZXh0dXJlIGlkcyBvbiB0aGUgaW1wbCBzaWRlIHdoZW4gbG9zaW5nIHRo
ZSBjb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJl
Y3RDb252b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlyZWN0Q29u
dm9sdmVyLmNwcAppbmRleCBmMjkwNmViY2QxMTAwZTk1YmM0OGEwNmRjZDQzMjk5ZDc4M2ViZjNk
Li4wNzM2MjFmMmUxNTg3NDczODM3ZWNiNmFmYmE2MjMwZGI5Mjk3YzE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0RpcmVjdENvbnZvbHZlci5jcHAKQEAgLTQ5LDkg
KzQ5LDYgQEAgRGlyZWN0Q29udm9sdmVyOjpEaXJlY3RDb252b2x2ZXIoc2l6ZV90IGlucHV0Qmxv
Y2tTaXplKQogCiB2b2lkIERpcmVjdENvbnZvbHZlcjo6cHJvY2VzcyhBdWRpb0Zsb2F0QXJyYXkq
IGNvbnZvbHV0aW9uS2VybmVsLCBjb25zdCBmbG9hdCogc291cmNlUCwgZmxvYXQqIGRlc3RQLCBz
aXplX3QgZnJhbWVzVG9Qcm9jZXNzKQogewotICAgIC8vIEZJWE1FOiBPcHRpbWl6ZSBmb3IgREFS
V0lOLCBjb252KCkgZnVuY3Rpb24gaW4gQWNjZWxlcmF0ZS5mcmFtZXdvcmsgY2FuIGJlIHVzZWQg
aGVyZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAy
NTYKLQogICAgIEFTU0VSVChmcmFtZXNUb1Byb2Nlc3MgPT0gbV9pbnB1dEJsb2NrU2l6ZSk7CiAg
ICAgaWYgKGZyYW1lc1RvUHJvY2VzcyAhPSBtX2lucHV0QmxvY2tTaXplKQogICAgICAgICByZXR1
cm47CkBAIC04OCw2ICs4NSw5IEBAIHZvaWQgRGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKEF1ZGlv
RmxvYXRBcnJheSogY29udm9sdXRpb25LZXJuZWwsIGNvbnN0IGZsb2F0KiBzCiAgICAgLy8gQ29w
eSBzYW1wbGVzIHRvIDJuZCBoYWxmIG9mIGlucHV0IGJ1ZmZlci4KICAgICBtZW1jcHkoaW5wdXRQ
LCBzb3VyY2VQLCBzaXplb2YoZmxvYXQpICogZnJhbWVzVG9Qcm9jZXNzKTsKIAorI2lmIE9TKERB
UldJTikKKyAgICB2RFNQX2NvbnYoaW5wdXRQIC0ga2VybmVsU2l6ZSArIDEsIDEsIGtlcm5lbFAg
KyBrZXJuZWxTaXplIC0gMSwgLTEsIGRlc3RQLCAxLCBmcmFtZXNUb1Byb2Nlc3MsIGtlcm5lbFNp
emUpOworI2Vsc2UKICAgICAvLyBGSVhNRTogVGhlIG1hY3JvIGNhbiBiZSBmdXJ0aGVyIG9wdGlt
aXplZCB0byBhdm9pZCBwaXBlbGluZSBzdGFsbHMuIE9uZSBwb3NzaWJpbGl0eSBpcyB0byBtYWlu
dGFpbiA0IHNlcGFyYXRlIHN1bXMgYW5kIGNoYW5nZSB0aGUgbWFjcm8gdG8gQ09OVk9MVkVfRk9V
Ul9TQU1QTEVTLgogI2RlZmluZSBDT05WT0xWRV9PTkVfU0FNUExFICAgICAgICAgICAgIFwKICAg
ICBzdW0gKz0gaW5wdXRQW2kgLSBqXSAqIGtlcm5lbFBbal07ICBcCkBAIC0zNTgsNiArMzU4LDcg
QEAgdm9pZCBEaXJlY3RDb252b2x2ZXI6OnByb2Nlc3MoQXVkaW9GbG9hdEFycmF5KiBjb252b2x1
dGlvbktlcm5lbCwgY29uc3QgZmxvYXQqIHMKICAgICAgICAgZGVzdFBbaSsrXSA9IHN1bTsKICAg
ICB9CiAKKyNlbmRpZiAvLyBPUyhEQVJXSU4pCiAgICAgLy8gQ29weSAybmQgaGFsZiBvZiBpbnB1
dCBidWZmZXIgdG8gMXN0IGhhbGYuCiAgICAgbWVtY3B5KG1fYnVmZmVyLmRhdGEoKSwgaW5wdXRQ
LCBzaXplb2YoZmxvYXQpICogZnJhbWVzVG9Qcm9jZXNzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlyZWN0Q29udm9sdmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIuaAppbmRleCAxY2I4YzY3MmQ0
YWRiMWYwNDVhN2E1OGZmMWQ5MDc4OTgzNzdmNDE1Li4xNDg5NTEwZmU1MmJjYWExYWZkZDU5ODVm
M2FmMTQ4ZjdjNmI4ODJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9EaXJlY3RDb252b2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9E
aXJlY3RDb252b2x2ZXIuaApAQCAtMzUsNiArMzUsMTAgQEAKICNpbmNsdWRlIDxpcHBzLmg+CiAj
ZW5kaWYgLy8gVVNFKFdFQkFVRElPX0lQUCkKIAorI2lmIE9TKERBUldJTikKKyNpbmNsdWRlIDxB
Y2NlbGVyYXRlL0FjY2VsZXJhdGUuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIERpcmVjdENvbnZvbHZlciB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137815</attachid>
            <date>2012-04-18 19:10:28 -0700</date>
            <delta_ts>2012-04-18 23:18:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80256-20120419101417.patch</filename>
            <type>text/plain</type>
            <size>2465</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJmZGZmMGYwY2M2Yzlj
OGQ0ZTBiNDA0ZmIxMDBkYTMwNGU0MDQ0Yy4uY2ExZmI0Yzc4NDI0OTU4MGQ3YjhhMTQyZDEzMjMx
OTgwYzM2MWZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA0LTE4ICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIE9wdGltaXplIGZv
ciBEQVJXSU4gaW4gRGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252
b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIuaDoKKwogMjAxMi0wNC0x
NyAgQW50b2luZSBMYWJvdXIgIDxwaW1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBDbGVhbiB1cCB0ZXh0dXJlIGlkcyBvbiB0aGUgaW1wbCBzaWRlIHdoZW4gbG9zaW5nIHRo
ZSBjb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJl
Y3RDb252b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRGlyZWN0Q29u
dm9sdmVyLmNwcAppbmRleCBmMjkwNmViY2QxMTAwZTk1YmM0OGEwNmRjZDQzMjk5ZDc4M2ViZjNk
Li44NTRkNzQ0NTlhNWFkNDViZmQwZjgzYmYxNmU4NmEyYmQ1M2NlOTIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0RpcmVjdENvbnZvbHZlci5jcHAKQEAgLTMyLDYg
KzMyLDEwIEBACiAKICNpbmNsdWRlICJEaXJlY3RDb252b2x2ZXIuaCIKIAorI2lmIE9TKERBUldJ
TikKKyNpbmNsdWRlIDxBY2NlbGVyYXRlL0FjY2VsZXJhdGUuaD4KKyNlbmRpZgorCiAjaW5jbHVk
ZSAiVmVjdG9yTWF0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00OSw5ICs1Myw2IEBA
IERpcmVjdENvbnZvbHZlcjo6RGlyZWN0Q29udm9sdmVyKHNpemVfdCBpbnB1dEJsb2NrU2l6ZSkK
IAogdm9pZCBEaXJlY3RDb252b2x2ZXI6OnByb2Nlc3MoQXVkaW9GbG9hdEFycmF5KiBjb252b2x1
dGlvbktlcm5lbCwgY29uc3QgZmxvYXQqIHNvdXJjZVAsIGZsb2F0KiBkZXN0UCwgc2l6ZV90IGZy
YW1lc1RvUHJvY2VzcykKIHsKLSAgICAvLyBGSVhNRTogT3B0aW1pemUgZm9yIERBUldJTiwgY29u
digpIGZ1bmN0aW9uIGluIEFjY2VsZXJhdGUuZnJhbWV3b3JrIGNhbiBiZSB1c2VkIGhlcmUuCi0g
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjU2Ci0KICAg
ICBBU1NFUlQoZnJhbWVzVG9Qcm9jZXNzID09IG1faW5wdXRCbG9ja1NpemUpOwogICAgIGlmIChm
cmFtZXNUb1Byb2Nlc3MgIT0gbV9pbnB1dEJsb2NrU2l6ZSkKICAgICAgICAgcmV0dXJuOwpAQCAt
ODIsNiArODMsMTYgQEAgdm9pZCBEaXJlY3RDb252b2x2ZXI6OnByb2Nlc3MoQXVkaW9GbG9hdEFy
cmF5KiBjb252b2x1dGlvbktlcm5lbCwgY29uc3QgZmxvYXQqIHMKIAogICAgIHZhZGQob3V0cHV0
QnVmZmVyLCAxLCBvdmVybGF5QnVmZmVyLCAxLCBkZXN0UCwgMSwgZnJhbWVzVG9Qcm9jZXNzKTsK
ICAgICBtZW1jcHkob3ZlcmxheUJ1ZmZlciwgb3V0cHV0QnVmZmVyICsgbV9pbnB1dEJsb2NrU2l6
ZSwgc2l6ZW9mKGZsb2F0KSAqIGtlcm5lbFNpemUpOworI2VsaWYgT1MoREFSV0lOKQorICAgIGZs
b2F0KiBpbnB1dFAgPSBtX2J1ZmZlci5kYXRhKCkgKyBtX2lucHV0QmxvY2tTaXplOworCisgICAg
Ly8gQ29weSBzYW1wbGVzIHRvIDJuZCBoYWxmIG9mIGlucHV0IGJ1ZmZlci4KKyAgICBtZW1jcHko
aW5wdXRQLCBzb3VyY2VQLCBzaXplb2YoZmxvYXQpICogZnJhbWVzVG9Qcm9jZXNzKTsKKworICAg
IHZEU1BfY29udihpbnB1dFAgLSBrZXJuZWxTaXplICsgMSwgMSwga2VybmVsUCArIGtlcm5lbFNp
emUgLSAxLCAtMSwgZGVzdFAsIDEsIGZyYW1lc1RvUHJvY2Vzcywga2VybmVsU2l6ZSk7CisKKyAg
ICAvLyBDb3B5IDJuZCBoYWxmIG9mIGlucHV0IGJ1ZmZlciB0byAxc3QgaGFsZi4KKyAgICBtZW1j
cHkobV9idWZmZXIuZGF0YSgpLCBpbnB1dFAsIHNpemVvZihmbG9hdCkgKiBmcmFtZXNUb1Byb2Nl
c3MpOwogI2Vsc2UKICAgICBmbG9hdCogaW5wdXRQID0gbV9idWZmZXIuZGF0YSgpICsgbV9pbnB1
dEJsb2NrU2l6ZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137852</attachid>
            <date>2012-04-18 23:19:02 -0700</date>
            <delta_ts>2012-04-19 00:20:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80256-20120419142251.patch</filename>
            <type>text/plain</type>
            <size>2767</size>
            <attacher name="Xingnan Wang">xingnan.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJmZGZmMGYwY2M2Yzlj
OGQ0ZTBiNDA0ZmIxMDBkYTMwNGU0MDQ0Yy4uNGM4MGI5NjhmNDE1OTM0Y2JlZTFiMTQzMzc3NDgz
MjljZTUxMmMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA0LTE4ICBYaW5n
bmFuIFdhbmcgIDx4aW5nbmFuLndhbmdAaW50ZWwuY29tPgorCisgICAgICAgIE9wdGltaXplIGZv
ciBEQVJXSU4gaW4gRGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjU2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252
b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlyZWN0Q29udm9sdmVyOjpwcm9jZXNzKToK
KwogMjAxMi0wNC0xNyAgQW50b2luZSBMYWJvdXIgIDxwaW1hbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Nocm9taXVtXSBDbGVhbiB1cCB0ZXh0dXJlIGlkcyBvbiB0aGUgaW1wbCBzaWRlIHdo
ZW4gbG9zaW5nIHRoZSBjb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9EaXJlY3RDb252b2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vRGlyZWN0Q29udm9sdmVyLmNwcAppbmRleCBmMjkwNmViY2QxMTAwZTk1YmM0OGEwNmRjZDQz
Mjk5ZDc4M2ViZjNkLi42MmM0ZTY4YWZlNDM2NzRmM2UzYzAxOThmMjM0ZmQyOTM4OTcwYzAwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0RpcmVjdENvbnZvbHZlci5j
cHAKQEAgLTMyLDYgKzMyLDEwIEBACiAKICNpbmNsdWRlICJEaXJlY3RDb252b2x2ZXIuaCIKIAor
I2lmIE9TKERBUldJTikKKyNpbmNsdWRlIDxBY2NlbGVyYXRlL0FjY2VsZXJhdGUuaD4KKyNlbmRp
ZgorCiAjaW5jbHVkZSAiVmVjdG9yTWF0aC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00
OSw5ICs1Myw2IEBAIERpcmVjdENvbnZvbHZlcjo6RGlyZWN0Q29udm9sdmVyKHNpemVfdCBpbnB1
dEJsb2NrU2l6ZSkKIAogdm9pZCBEaXJlY3RDb252b2x2ZXI6OnByb2Nlc3MoQXVkaW9GbG9hdEFy
cmF5KiBjb252b2x1dGlvbktlcm5lbCwgY29uc3QgZmxvYXQqIHNvdXJjZVAsIGZsb2F0KiBkZXN0
UCwgc2l6ZV90IGZyYW1lc1RvUHJvY2VzcykKIHsKLSAgICAvLyBGSVhNRTogT3B0aW1pemUgZm9y
IERBUldJTiwgY29udigpIGZ1bmN0aW9uIGluIEFjY2VsZXJhdGUuZnJhbWV3b3JrIGNhbiBiZSB1
c2VkIGhlcmUuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgwMjU2Ci0KICAgICBBU1NFUlQoZnJhbWVzVG9Qcm9jZXNzID09IG1faW5wdXRCbG9ja1NpemUp
OwogICAgIGlmIChmcmFtZXNUb1Byb2Nlc3MgIT0gbV9pbnB1dEJsb2NrU2l6ZSkKICAgICAgICAg
cmV0dXJuOwpAQCAtODgsNiArODksMTMgQEAgdm9pZCBEaXJlY3RDb252b2x2ZXI6OnByb2Nlc3Mo
QXVkaW9GbG9hdEFycmF5KiBjb252b2x1dGlvbktlcm5lbCwgY29uc3QgZmxvYXQqIHMKICAgICAv
LyBDb3B5IHNhbXBsZXMgdG8gMm5kIGhhbGYgb2YgaW5wdXQgYnVmZmVyLgogICAgIG1lbWNweShp
bnB1dFAsIHNvdXJjZVAsIHNpemVvZihmbG9hdCkgKiBmcmFtZXNUb1Byb2Nlc3MpOwogCisjaWYg
T1MoREFSV0lOKQorI2lmIGRlZmluZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX2kzODZfXykKKyAg
ICBjb252KGlucHV0UCAtIGtlcm5lbFNpemUgKyAxLCAxLCBrZXJuZWxQICsga2VybmVsU2l6ZSAt
IDEsIC0xLCBkZXN0UCwgMSwgZnJhbWVzVG9Qcm9jZXNzLCBrZXJuZWxTaXplKTsKKyNlbHNlCisg
ICAgdkRTUF9jb252KGlucHV0UCAtIGtlcm5lbFNpemUgKyAxLCAxLCBrZXJuZWxQICsga2VybmVs
U2l6ZSAtIDEsIC0xLCBkZXN0UCwgMSwgZnJhbWVzVG9Qcm9jZXNzLCBrZXJuZWxTaXplKTsKKyNl
bmRpZiAvLyBkZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19pMzg2X18pCisjZWxzZQogICAg
IC8vIEZJWE1FOiBUaGUgbWFjcm8gY2FuIGJlIGZ1cnRoZXIgb3B0aW1pemVkIHRvIGF2b2lkIHBp
cGVsaW5lIHN0YWxscy4gT25lIHBvc3NpYmlsaXR5IGlzIHRvIG1haW50YWluIDQgc2VwYXJhdGUg
c3VtcyBhbmQgY2hhbmdlIHRoZSBtYWNybyB0byBDT05WT0xWRV9GT1VSX1NBTVBMRVMuCiAjZGVm
aW5lIENPTlZPTFZFX09ORV9TQU1QTEUgICAgICAgICAgICAgXAogICAgIHN1bSArPSBpbnB1dFBb
aSAtIGpdICoga2VybmVsUFtqXTsgIFwKQEAgLTM1Nyw2ICszNjUsNyBAQCB2b2lkIERpcmVjdENv
bnZvbHZlcjo6cHJvY2VzcyhBdWRpb0Zsb2F0QXJyYXkqIGNvbnZvbHV0aW9uS2VybmVsLCBjb25z
dCBmbG9hdCogcwogICAgICAgICB9CiAgICAgICAgIGRlc3RQW2krK10gPSBzdW07CiAgICAgfQor
I2VuZGlmIC8vIE9TKERBUldJTikKIAogICAgIC8vIENvcHkgMm5kIGhhbGYgb2YgaW5wdXQgYnVm
ZmVyIHRvIDFzdCBoYWxmLgogICAgIG1lbWNweShtX2J1ZmZlci5kYXRhKCksIGlucHV0UCwgc2l6
ZW9mKGZsb2F0KSAqIGZyYW1lc1RvUHJvY2Vzcyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>