<?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>73830</bug_id>
          
          <creation_ts>2011-12-05 07:52:38 -0800</creation_ts>
          <short_desc>optimize TransformationMatrix::scale by not calling through to generic multiply</short_desc>
          <delta_ts>2011-12-06 12:44:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Reed">reed</reporter>
          <assigned_to name="Mike Reed">reed</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>kbr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>515081</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-12-05 07:52:38 -0800</bug_when>
    <thetext>optimize TransformationMatrix::scale by not calling through to generic multiply</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515084</commentid>
    <comment_count>1</comment_count>
      <attachid>117880</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-12-05 07:54:32 -0800</bug_when>
    <thetext>Created attachment 117880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515104</commentid>
    <comment_count>2</comment_count>
      <attachid>117880</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 08:44:04 -0800</bug_when>
    <thetext>Comment on attachment 117880
Patch

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

New failing tests:
svg/custom/linking-uri-01-b.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515215</commentid>
    <comment_count>3</comment_count>
      <attachid>117880</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-12-05 11:07:58 -0800</bug_when>
    <thetext>Comment on attachment 117880
Patch

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

Is the new SVG failure spurious? It&apos;s hard to believe that it could be caused by this patch.

&gt; Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:695
&gt; +    m_matrix[0][0] *= sx;
&gt; +    m_matrix[0][1] *= sx;
&gt; +    m_matrix[0][2] *= sx;
&gt; +    m_matrix[0][3] *= sx;
&gt; +    
&gt; +    m_matrix[1][0] *= sy;
&gt; +    m_matrix[1][1] *= sy;
&gt; +    m_matrix[1][2] *= sy;
&gt; +    m_matrix[1][3] *= sy;

Could this one at least call scaleNonUniform to reduce code duplication? Would that eliminate the benefit of the optimization?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515241</commentid>
    <comment_count>4</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-12-05 11:29:03 -0800</bug_when>
    <thetext>I&apos;ll run drt locally and see if I can repro the failure. *possibly* we are getting different precision with this version, and therefore a slightly different matrix?

I think we can have the scale3 function call the 2D one, and then scale its column. I&apos;ll try that in the next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515828</commentid>
    <comment_count>5</comment_count>
      <attachid>118031</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-12-06 05:17:25 -0800</bug_when>
    <thetext>Created attachment 118031
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515853</commentid>
    <comment_count>6</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-12-06 05:57:42 -0800</bug_when>
    <thetext>previous failure must have been a flake, as the new patch is the same (modulo sharing code between the scaleNonUniform and scale3D)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516025</commentid>
    <comment_count>7</comment_count>
      <attachid>118031</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-12-06 10:42:42 -0800</bug_when>
    <thetext>Comment on attachment 118031
Patch

Looks good. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516073</commentid>
    <comment_count>8</comment_count>
      <attachid>118031</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-06 11:27:50 -0800</bug_when>
    <thetext>Comment on attachment 118031
Patch

Clearing flags on attachment: 118031

Committed r102157: &lt;http://trac.webkit.org/changeset/102157&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516074</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-06 11:27:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516080</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-06 11:30:19 -0800</bug_when>
    <thetext>Why were none of the main authors of TransformationMatrix.cpp cc&apos;d on this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516089</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-12-06 11:36:02 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Why were none of the main authors of TransformationMatrix.cpp cc&apos;d on this bug?

Sorry, that was a simple oversight on my part...

Please let us know if you find any issue with this change. I&apos;m happy to roll it out and help rework it if necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516125</commentid>
    <comment_count>12</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-12-06 11:57:58 -0800</bug_when>
    <thetext>My bad too. Is there a generic way to know who the interested authors are for a given directory/file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516165</commentid>
    <comment_count>13</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-12-06 12:44:41 -0800</bug_when>
    <thetext>using &apos;svn blame&apos; I see cmarrin and simon. Will remember to do that next time.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117880</attachid>
            <date>2011-12-05 07:54:32 -0800</date>
            <delta_ts>2011-12-06 05:17:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73830-20111205105434.patch</filename>
            <type>text/plain</type>
            <size>2415</size>
            <attacher name="Mike Reed">reed</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMjAwMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDExLTEyLTA1ICBNaWtlIFJl
ZWQgIDxyZWVkQGdvb2dsZS5jb20+CisKKyAgICAgICAgb3B0aW1pemUgVHJhbnNmb3JtYXRpb25N
YXRyaXg6OnNjYWxlIGJ5IG5vdCBjYWxsaW5nIHRocm91Z2ggdG8gZ2VuZXJpYyBtdWx0aXBseQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMuIG5vIGZ1bmN0aW9uYWwgY2hhbmdlLCBqdXN0IGZhc3QuCisKKyAgICAgICAgT24gdGhpcyBz
aXRlLCBzY2FsZSgpIHdlbnQgZnJvbSAxLjclIG9mIHRoZSB0aW1lIHRvIGVmZmVjdGl2ZWx5IDAK
KyAgICAgICAgaHR0cDovL2llLm1pY3Jvc29mdC5jb20vdGVzdGRyaXZlL1BlcmZvcm1hbmNlL1Nw
ZWVkUmVhZGluZy9EZWZhdWx0Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJh
bnNmb3JtYXRpb25NYXRyaXg6OnNjYWxlTm9uVW5pZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2NhbGUzZCk6CisKIDIwMTEtMTItMDUgIEVyaWMgQ2FybHNv
biAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgT3V0LW9mLWJhbmQgdGV4dCB0
cmFja3MgbWF5IG9ubHkgbG9hZCBmcm9tIHNhbWUgb3JpZ2luIGFzIHRoZSBtZWRpYSBlbGVtZW50
J3MgRG9jdW1lbnQncyBvcmlnaW4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25N
YXRyaXguY3BwCShyZXZpc2lvbiAxMDE5ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjcwLDIyICs2NzAsMzQgQEAgRmxvYXRRdWFkIFRyYW5zZm9ybWF0aW9uTWF0cml4Ojpt
YXBRdWFkKAogCiBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgVHJhbnNmb3JtYXRpb25NYXRyaXg6OnNj
YWxlTm9uVW5pZm9ybShkb3VibGUgc3gsIGRvdWJsZSBzeSkKIHsKLSAgICBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCBtYXQ7Ci0gICAgbWF0Lm1fbWF0cml4WzBdWzBdID0gc3g7Ci0gICAgbWF0Lm1fbWF0
cml4WzFdWzFdID0gc3k7Ci0KLSAgICBtdWx0aXBseShtYXQpOworICAgIG1fbWF0cml4WzBdWzBd
ICo9IHN4OworICAgIG1fbWF0cml4WzBdWzFdICo9IHN4OworICAgIG1fbWF0cml4WzBdWzJdICo9
IHN4OworICAgIG1fbWF0cml4WzBdWzNdICo9IHN4OworICAgIAorICAgIG1fbWF0cml4WzFdWzBd
ICo9IHN5OworICAgIG1fbWF0cml4WzFdWzFdICo9IHN5OworICAgIG1fbWF0cml4WzFdWzJdICo9
IHN5OworICAgIG1fbWF0cml4WzFdWzNdICo9IHN5OwogICAgIHJldHVybiAqdGhpczsKIH0KIAog
VHJhbnNmb3JtYXRpb25NYXRyaXgmIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzY2FsZTNkKGRvdWJs
ZSBzeCwgZG91YmxlIHN5LCBkb3VibGUgc3opCiB7Ci0gICAgVHJhbnNmb3JtYXRpb25NYXRyaXgg
bWF0OwotICAgIG1hdC5tX21hdHJpeFswXVswXSA9IHN4OwotICAgIG1hdC5tX21hdHJpeFsxXVsx
XSA9IHN5OwotICAgIG1hdC5tX21hdHJpeFsyXVsyXSA9IHN6OwotCi0gICAgbXVsdGlwbHkobWF0
KTsKKyAgICBtX21hdHJpeFswXVswXSAqPSBzeDsKKyAgICBtX21hdHJpeFswXVsxXSAqPSBzeDsK
KyAgICBtX21hdHJpeFswXVsyXSAqPSBzeDsKKyAgICBtX21hdHJpeFswXVszXSAqPSBzeDsKKyAg
ICAKKyAgICBtX21hdHJpeFsxXVswXSAqPSBzeTsKKyAgICBtX21hdHJpeFsxXVsxXSAqPSBzeTsK
KyAgICBtX21hdHJpeFsxXVsyXSAqPSBzeTsKKyAgICBtX21hdHJpeFsxXVszXSAqPSBzeTsKKyAg
ICAKKyAgICBtX21hdHJpeFsyXVswXSAqPSBzejsKKyAgICBtX21hdHJpeFsyXVsxXSAqPSBzejsK
KyAgICBtX21hdHJpeFsyXVsyXSAqPSBzejsKKyAgICBtX21hdHJpeFsyXVszXSAqPSBzejsKICAg
ICByZXR1cm4gKnRoaXM7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118031</attachid>
            <date>2011-12-06 05:17:25 -0800</date>
            <delta_ts>2011-12-06 11:27:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73830-20111206081724.patch</filename>
            <type>text/plain</type>
            <size>2026</size>
            <attacher name="Mike Reed">reed</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMjEyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTEyLTA2ICBNaWtlIFJl
ZWQgIDxyZWVkQGdvb2dsZS5jb20+CisKKyAgICAgICAgb3B0aW1pemUgVHJhbnNmb3JtYXRpb25N
YXRyaXg6OnNjYWxlIGJ5IG5vdCBjYWxsaW5nIHRocm91Z2ggdG8gZ2VuZXJpYyBtdWx0aXBseQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMuIE9wdGltaXphdGlvbiBvbmx5LCBleGlzdGluZyB0ZXN0cyBleGVyY2lzZSB0aGUgY29kZQor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6c2NhbGVO
b25Vbmlmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4OjpzY2Fs
ZTNkKToKKwogMjAxMS0xMi0wNiAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgU2ltcGxpZnkgS1VSTCdzIGNoZWNrRW5jb2RlZFN0cmluZygpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0
aW9uTWF0cml4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAkocmV2aXNpb24gMTAyMTIx
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zv
cm1hdGlvbk1hdHJpeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY3MCwyMiArNjcwLDI2IEBAIEZs
b2F0UXVhZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bWFwUXVhZCgKIAogVHJhbnNmb3JtYXRpb25N
YXRyaXgmIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpzY2FsZU5vblVuaWZvcm0oZG91YmxlIHN4LCBk
b3VibGUgc3kpCiB7Ci0gICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbWF0OwotICAgIG1hdC5tX21h
dHJpeFswXVswXSA9IHN4OwotICAgIG1hdC5tX21hdHJpeFsxXVsxXSA9IHN5OwotCi0gICAgbXVs
dGlwbHkobWF0KTsKKyAgICBtX21hdHJpeFswXVswXSAqPSBzeDsKKyAgICBtX21hdHJpeFswXVsx
XSAqPSBzeDsKKyAgICBtX21hdHJpeFswXVsyXSAqPSBzeDsKKyAgICBtX21hdHJpeFswXVszXSAq
PSBzeDsKKyAgICAKKyAgICBtX21hdHJpeFsxXVswXSAqPSBzeTsKKyAgICBtX21hdHJpeFsxXVsx
XSAqPSBzeTsKKyAgICBtX21hdHJpeFsxXVsyXSAqPSBzeTsKKyAgICBtX21hdHJpeFsxXVszXSAq
PSBzeTsKICAgICByZXR1cm4gKnRoaXM7CiB9CiAKIFRyYW5zZm9ybWF0aW9uTWF0cml4JiBUcmFu
c2Zvcm1hdGlvbk1hdHJpeDo6c2NhbGUzZChkb3VibGUgc3gsIGRvdWJsZSBzeSwgZG91YmxlIHN6
KQogewotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdDsKLSAgICBtYXQubV9tYXRyaXhbMF1b
MF0gPSBzeDsKLSAgICBtYXQubV9tYXRyaXhbMV1bMV0gPSBzeTsKLSAgICBtYXQubV9tYXRyaXhb
Ml1bMl0gPSBzejsKLQotICAgIG11bHRpcGx5KG1hdCk7CisgICAgc2NhbGVOb25Vbmlmb3JtKHN4
LCBzeSk7CisgICAgCisgICAgbV9tYXRyaXhbMl1bMF0gKj0gc3o7CisgICAgbV9tYXRyaXhbMl1b
MV0gKj0gc3o7CisgICAgbV9tYXRyaXhbMl1bMl0gKj0gc3o7CisgICAgbV9tYXRyaXhbMl1bM10g
Kj0gc3o7CiAgICAgcmV0dXJuICp0aGlzOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>