<?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>42921</bug_id>
          
          <creation_ts>2010-07-23 17:56:31 -0700</creation_ts>
          <short_desc>Save a per-character branch in the HTML parser</short_desc>
          <delta_ts>2010-07-24 10:33:29 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>255618</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-23 17:56:31 -0700</bug_when>
    <thetext>Save a per-character branch in the HTML parser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255619</commentid>
    <comment_count>1</comment_count>
      <attachid>62479</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-23 17:58:03 -0700</bug_when>
    <thetext>Created attachment 62479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255636</commentid>
    <comment_count>2</comment_count>
      <attachid>62479</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-23 20:09:03 -0700</bug_when>
    <thetext>Comment on attachment 62479
Patch

So I&apos;m confused by the m_data.clear()s being moved to .clear().  When is ::clear() called?

I guess either the branch isn&apos;t actually that hot, or branch prediction is just winning out here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255641</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-23 20:17:57 -0700</bug_when>
    <thetext>&gt; So I&apos;m confused by the m_data.clear()s being moved to .clear().  When is ::clear() called?

Clear is called by the HTMLDocumentParser after each token.  It reset the token.  Before we were using lazy clearing where we delayed zeroing everything out until we started a new token.  I want to get rid of the branch, so i made this eager.

&gt; I guess either the branch isn&apos;t actually that hot, or branch prediction is just winning out here.

Probably.  Or maybe moving the clear is costing us.  In any case, I think this is prettier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255650</commentid>
    <comment_count>4</comment_count>
      <attachid>62479</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-23 21:42:29 -0700</bug_when>
    <thetext>Comment on attachment 62479
Patch

Rejecting patch 62479 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--ignore-tests&apos;, &apos;compositing&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 20715 test cases.
animations/play-state.html -&gt; failed

Exiting early after 1 failures. 123 tests run.
12.72s total testing time

122 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout

Full output: http://queues.webkit.org/results/3623012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255710</commentid>
    <comment_count>5</comment_count>
      <attachid>62479</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-24 07:53:27 -0700</bug_when>
    <thetext>Comment on attachment 62479
Patch

Bug 42821, again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255726</commentid>
    <comment_count>6</comment_count>
      <attachid>62479</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-24 10:07:47 -0700</bug_when>
    <thetext>Comment on attachment 62479
Patch

Rejecting patch 62479 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--ignore-tests&apos;, &apos;compositing&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 20715 test cases.
animations/play-state.html -&gt; failed

Exiting early after 1 failures. 123 tests run.
11.55s total testing time

122 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout

Full output: http://queues.webkit.org/results/3572410</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255727</commentid>
    <comment_count>7</comment_count>
      <attachid>62479</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-24 10:15:11 -0700</bug_when>
    <thetext>Comment on attachment 62479
Patch

Broken animation test. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255728</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-24 10:21:38 -0700</bug_when>
    <thetext>The failure rate on that test is out of control.  Can we do something about it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255729</commentid>
    <comment_count>9</comment_count>
      <attachid>62479</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-24 10:33:24 -0700</bug_when>
    <thetext>Comment on attachment 62479
Patch

Clearing flags on attachment: 62479

Committed r64010: &lt;http://trac.webkit.org/changeset/64010&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>255730</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-24 10:33:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62479</attachid>
            <date>2010-07-23 17:58:03 -0700</date>
            <delta_ts>2010-07-24 10:33:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42921-20100723175802.patch</filename>
            <type>text/plain</type>
            <size>3376</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YTUyNDZjOGNjMzg5NzBiNDg0M2Y3ODg2YWJmZjQ0ODFlZmFkZmM1NS4uNDZjNWFjMTI3N2VmODU1
MTI3ZGU2ZGQ5ODYwYTk5N2QyMzQxZmI0MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNSBAQAogMjAxMC0wNy0yMyAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFNhdmUgYSBwZXItY2hhcmFjdGVyIGJyYW5jaCBpbiB0aGUg
SFRNTCBwYXJzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyOTIxCisKKyAgICAgICAgVGhlIHBhcnNpbmcgYmVuY2htYXJrIGNsYWltcyB0aGlzIGlz
IGEgd2FzaCwgYnV0IGl0IG1ha2VzIG1lIGZlZWwKKyAgICAgICAgYmV0dGVyLgorCisgICAgICAg
ICogaHRtbC9IVE1MVG9rZW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbjo6Y2xlYXIp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRva2VuOjpiZWdpblN0YXJ0VGFnKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxUb2tlbjo6YmVnaW5FbmRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRva2VuOjplbnN1cmVJc0NoYXJhY3RlclRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxU
b2tlbjo6YmVnaW5Db21tZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbjo6YmVnaW5E
T0NUWVBFKToKKyAgICAgICAgKiBodG1sL0hUTUxUb2tlbml6ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFRva2VuaXplcjo6YnVmZmVyQ2hhcmFjdGVyKToKKworMjAxMC0wNy0yMyAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
U2VpZGVsLgogCiAgICAgICAgIFJlc2VydmUgY2FwYWNpdHkgZm9yIGF0dHJpYnV0ZXMKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW4uaCBiL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW4u
aAppbmRleCA0MDdlNWQ3MTNmYzQzZjQ5NWM5ZGU2MzE3ZDU1OTQ4YmI4ZDQ0M2Q5Li44NDY1YTM1
ZDEzYTM5OTFjZjMyZDZhMmQxMDBiZGJiNGMxODE5ZTdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUb2tlbi5oCkBAIC01OSw2ICs1
OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyKCkKICAgICB7CiAgICAgICAgIG1fdHlwZSA9
IFVuaW5pdGlhbGl6ZWQ7CisgICAgICAgIG1fZGF0YS5jbGVhcigpOwogICAgIH0KIAogICAgIHZv
aWQgbWFrZUVuZE9mRmlsZSgpCkBAIC03Miw3ICs3Myw2IEBAIHB1YmxpYzoKICAgICAgICAgQVNT
RVJUKGNoYXJhY3Rlcik7CiAgICAgICAgIEFTU0VSVChtX3R5cGUgPT0gVW5pbml0aWFsaXplZCk7
CiAgICAgICAgIG1fdHlwZSA9IFN0YXJ0VGFnOwotICAgICAgICBtX2RhdGEuY2xlYXIoKTsKICAg
ICAgICAgbV9zZWxmQ2xvc2luZyA9IGZhbHNlOwogICAgICAgICBtX2N1cnJlbnRBdHRyaWJ1dGUg
PSAwOwogICAgICAgICBtX2F0dHJpYnV0ZXMuY2xlYXIoKTsKQEAgLTg1LDcgKzg1LDYgQEAgcHVi
bGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdHlwZSA9PSBVbmluaXRpYWxpemVkKTsKICAg
ICAgICAgbV90eXBlID0gRW5kVGFnOwotICAgICAgICBtX2RhdGEuY2xlYXIoKTsKICAgICAgICAg
bV9zZWxmQ2xvc2luZyA9IGZhbHNlOwogICAgICAgICBtX2N1cnJlbnRBdHRyaWJ1dGUgPSAwOwog
ICAgICAgICBtX2F0dHJpYnV0ZXMuY2xlYXIoKTsKQEAgLTkzLDI3ICs5MiwyNCBAQCBwdWJsaWM6
CiAgICAgICAgIG1fZGF0YS5hcHBlbmQoY2hhcmFjdGVycyk7CiAgICAgfQogCi0gICAgdm9pZCBi
ZWdpbkNoYXJhY3RlcihVQ2hhciBjaGFyYWN0ZXIpCisgICAgLy8gU3RhcnRpbmcgYSBjaGFyYWN0
ZXIgdG9rZW4gd29ya3Mgc2xpZ2h0bHkgZGlmZmVyZW50bHkgdGhhbiBzdGFydGluZworICAgIC8v
IG90aGVyIHR5cGVzIG9mIHRva2VucyBiZWNhdXNlIHdlIHdhbnQgdG8gc2F2ZSBhIHBlci1jaGFy
YWN0ZXIgYnJhbmNoLgorICAgIHZvaWQgZW5zdXJlSXNDaGFyYWN0ZXJUb2tlbigpCiAgICAgewot
ICAgICAgICBBU1NFUlQoY2hhcmFjdGVyKTsKLSAgICAgICAgQVNTRVJUKG1fdHlwZSA9PSBVbmlu
aXRpYWxpemVkKTsKKyAgICAgICAgQVNTRVJUKG1fdHlwZSA9PSBVbmluaXRpYWxpemVkIHx8IG1f
dHlwZSA9PSBDaGFyYWN0ZXIpOwogICAgICAgICBtX3R5cGUgPSBDaGFyYWN0ZXI7Ci0gICAgICAg
IG1fZGF0YS5jbGVhcigpOwotICAgICAgICBtX2RhdGEuYXBwZW5kKGNoYXJhY3Rlcik7CiAgICAg
fQogCiAgICAgdm9pZCBiZWdpbkNvbW1lbnQoKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1fdHlw
ZSA9PSBVbmluaXRpYWxpemVkKTsKICAgICAgICAgbV90eXBlID0gQ29tbWVudDsKLSAgICAgICAg
bV9kYXRhLmNsZWFyKCk7CiAgICAgfQogCiAgICAgdm9pZCBiZWdpbkRPQ1RZUEUoKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKG1fdHlwZSA9PSBVbmluaXRpYWxpemVkKTsKICAgICAgICAgbV90eXBl
ID0gRE9DVFlQRTsKLSAgICAgICAgbV9kYXRhLmNsZWFyKCk7CiAgICAgICAgIG1fZG9jdHlwZURh
dGEuc2V0KG5ldyBEb2N0eXBlRGF0YSgpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9IVE1MVG9rZW5pemVyLmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MVG9rZW5pemVyLmNwcApp
bmRleCA1NWZkMWNhNDg0NDJlMWVlODNkZmNhZDY1ZmY3NGIzZjczOTQ5OWRjLi4zODI5NTgwNzNh
NjdhYTNkNzdlOGNhYTU2ZjE3ZGMwOGIwM2ViNDM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
SFRNTFRva2VuaXplci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUb2tlbml6ZXIuY3BwCkBA
IC0xNjA4LDEwICsxNjA4LDcgQEAgaW5saW5lIGJvb2wgSFRNTFRva2VuaXplcjo6aXNBcHByb3By
aWF0ZUVuZFRhZygpCiBpbmxpbmUgdm9pZCBIVE1MVG9rZW5pemVyOjpidWZmZXJDaGFyYWN0ZXIo
VUNoYXIgY2hhcmFjdGVyKQogewogICAgIEFTU0VSVChjaGFyYWN0ZXIgIT0gSW5wdXRTdHJlYW1Q
cmVwcm9jZXNzb3I6OmVuZE9mRmlsZU1hcmtlcik7Ci0gICAgaWYgKG1fdG9rZW4tPnR5cGUoKSAh
PSBIVE1MVG9rZW46OkNoYXJhY3RlcikgewotICAgICAgICBtX3Rva2VuLT5iZWdpbkNoYXJhY3Rl
cihjaGFyYWN0ZXIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIG1fdG9rZW4tPmVuc3Vy
ZUlzQ2hhcmFjdGVyVG9rZW4oKTsKICAgICBtX3Rva2VuLT5hcHBlbmRUb0NoYXJhY3RlcihjaGFy
YWN0ZXIpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>