<?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>57338</bug_id>
          
          <creation_ts>2011-03-29 07:22:59 -0700</creation_ts>
          <short_desc>Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it</short_desc>
          <delta_ts>2011-03-29 12:00:43 -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>
          
          <blocked>57341</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375294</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 07:22:59 -0700</bug_when>
    <thetext>Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375296</commentid>
    <comment_count>1</comment_count>
      <attachid>87316</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 07:26:40 -0700</bug_when>
    <thetext>Created attachment 87316
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375299</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 07:28:42 -0700</bug_when>
    <thetext>My understanding is that this code is super performance sensitive.  However, hopefully the magic of the &quot;inline&quot; keyword will make this change a noop for perf.  Then again, it&apos;s also possible if the compiler outlines this function things could get faster. :)

In either case the Chromium PLT bots will let us know if any of these re-factorings make things slower (or faster!).

This change should be perf-neutral.  I just bring this up because this stuff is so hot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375434</commentid>
    <comment_count>3</comment_count>
      <attachid>87316</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-29 09:38:08 -0700</bug_when>
    <thetext>Comment on attachment 87316
Patch

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

&gt; Source/WebCore/platform/text/BidiResolver.h:525
&gt; +inline void BidiResolver&lt;Iterator, Run&gt;::updateStatusLastFromCurrentDirection(WTF::Unicode::Direction dirCurrent)

Nit: Should we rename dirCurrent to currentDirection?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375624</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 11:57:54 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 87316:

fast/workers/storage/use-same-database-in-page-and-workers.html bug 50995 (author: dumi@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375629</commentid>
    <comment_count>5</comment_count>
      <attachid>87316</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 12:00:38 -0700</bug_when>
    <thetext>Comment on attachment 87316
Patch

Clearing flags on attachment: 87316

Committed r82297: &lt;http://trac.webkit.org/changeset/82297&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375630</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 12:00:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87316</attachid>
            <date>2011-03-29 07:26:40 -0700</date>
            <delta_ts>2011-03-29 12:00:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57338-20110329162638.patch</filename>
            <type>text/plain</type>
            <size>5792</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIyMTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NWU2ZmFjNThkZTU0Y2E5
YmQ3OGEwNWUyYmY2Y2E5MGIyNDRjZmRhLi43MjMwYTE5NzQ1NTQyMzFkZWQyNDgyMTNjMWIwM2Nm
MDUwOGIxYWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjUgQEAKIAogICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBTdGFydCB0byBjbGVhbiB1cCBCaWRpUmVz
b2x2ZXI6OmNyZWF0ZUJpZGlSdW5zRm9yTGluZSBzbyB0aGF0IG1lcmUgbW9ydGFscyBjYW4gdW5k
ZXJzdGFuZCBpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTczMzgKKworICAgICAgICBJJ20gYXR0ZW1wdGluZyB0byBicmVhayBjcmVhdGVCaWRpUnVu
c0ZvckxpbmUgaW50byB1bmRlcnN0YW5kYWJsZSBwaWVjZXMKKyAgICAgICAgc28gdGhhdCB3ZSBj
YW4gdGVsbCB3aGF0IGl0J3MgYWN0dWFsbHkgZG9pbmcuICBPdXIgaW1wbGVtZW50YXRpb24gb2Yg
dGhlCisgICAgICAgIHVuaWNvZGUgYmlkaSBhbGdvcml0aG0gaXMgc2xpZ2h0bHkgZGlmZmVyZW50
IGZyb20gdGhlIHNwZWMgaW4gdGhhdCB3ZQorICAgICAgICBydW4gaXQgcGVyLWxpbmUgKGluc3Rl
YWQgb2Ygb3ZlciB0aGUgZW50aXJlIHBhcmFncmFwaCBhdCBvbmNlKS4gIFRoaXMgaXMKKyAgICAg
ICAgZ3JlYXQgZm9yIHBlcmZvcm1hbmNlIChvdXIgaW1wbGVtZW50YXRpb24gaXMgcmVzdW1hYmxl
KSwgYnV0IGl0IG1ha2VzCisgICAgICAgIHRoaW5ncyBhIGJpdCB0cmlja3kgdG8gdW5kZXJzdGFu
ZC4gIFNwbGl0dGluZyBjcmVhdGVCaWRpUnVuc0ZvckxpbmUgaW50bworICAgICAgICBwaWVjZXMg
c2hvdWxkIGhlbHAgbWFrZSBvdXIgVUJBIGltcGxlbWVudGF0aW9uIG1vcmUgcmVhZGFibGUuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6Ojp1cGRhdGVTdGF0dXNMYXN0RnJvbUN1cnJlbnREaXJlY3Rpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6OjpjcmVhdGVCaWRpUnVuc0ZvckxpbmUpOgorCisyMDExLTAzLTI5ICBFcmljIFNlaWRl
bCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKwogICAgICAgICBDbGVhbiB1cCBiaWRpTmV4dCBieSBhYnN0cmFjdGluZyByZXBlYXRlZCBj
b2RlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzMz
NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAppbmRleCAw
N2U5Mjc0YWRlYjMxZGEzMTczNDJiMTNjZWU3YTU2OTQ5ZjVkMDhjLi4zNDA0NTIyMDI3MGY1YzEw
ODY3MTFhNzYyZDQxY2UxMzBkMTdlYjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvQmlkaVJlc29sdmVyLmgKQEAgLTIxMCw2ICsyMTAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQg
bG93ZXJFeHBsaWNpdEVtYmVkZGluZ0xldmVsKFdURjo6VW5pY29kZTo6RGlyZWN0aW9uIGZyb20p
OwogICAgIHZvaWQgY2hlY2tEaXJlY3Rpb25Jbkxvd2VyUmFpc2VFbWJlZGRpbmdMZXZlbCgpOwog
CisgICAgdm9pZCB1cGRhdGVTdGF0dXNMYXN0RnJvbUN1cnJlbnREaXJlY3Rpb24oV1RGOjpVbmlj
b2RlOjpEaXJlY3Rpb24pOworCiAgICAgVmVjdG9yPFdURjo6VW5pY29kZTo6RGlyZWN0aW9uLCA4
PiBtX2N1cnJlbnRFeHBsaWNpdEVtYmVkZGluZ1NlcXVlbmNlOwogfTsKIApAQCAtNTIwLDYgKzUy
Miw0OCBAQCB2b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6cmV2ZXJzZVJ1bnModW5z
aWduZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCkKIH0KIAogdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9y
LCBjbGFzcyBSdW4+CitpbmxpbmUgdm9pZCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1bj46OnVw
ZGF0ZVN0YXR1c0xhc3RGcm9tQ3VycmVudERpcmVjdGlvbihXVEY6OlVuaWNvZGU6OkRpcmVjdGlv
biBkaXJDdXJyZW50KQoreworICAgIHVzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7CisgICAg
c3dpdGNoIChkaXJDdXJyZW50KSB7CisgICAgY2FzZSBFdXJvcGVhbk51bWJlclRlcm1pbmF0b3I6
CisgICAgICAgIGlmIChtX3N0YXR1cy5sYXN0ICE9IEV1cm9wZWFuTnVtYmVyKQorICAgICAgICAg
ICAgbV9zdGF0dXMubGFzdCA9IEV1cm9wZWFuTnVtYmVyVGVybWluYXRvcjsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBFdXJvcGVhbk51bWJlclNlcGFyYXRvcjoKKyAgICBjYXNlIENvbW1vbk51
bWJlclNlcGFyYXRvcjoKKyAgICBjYXNlIFNlZ21lbnRTZXBhcmF0b3I6CisgICAgY2FzZSBXaGl0
ZVNwYWNlTmV1dHJhbDoKKyAgICBjYXNlIE90aGVyTmV1dHJhbDoKKyAgICAgICAgc3dpdGNoICht
X3N0YXR1cy5sYXN0KSB7CisgICAgICAgIGNhc2UgTGVmdFRvUmlnaHQ6CisgICAgICAgIGNhc2Ug
UmlnaHRUb0xlZnQ6CisgICAgICAgIGNhc2UgUmlnaHRUb0xlZnRBcmFiaWM6CisgICAgICAgIGNh
c2UgRXVyb3BlYW5OdW1iZXI6CisgICAgICAgIGNhc2UgQXJhYmljTnVtYmVyOgorICAgICAgICAg
ICAgbV9zdGF0dXMubGFzdCA9IGRpckN1cnJlbnQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIG1fc3RhdHVzLmxhc3QgPSBPdGhlck5ldXRyYWw7Cisg
ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBOb25TcGFjaW5nTWFyazoKKyAgICBj
YXNlIEJvdW5kYXJ5TmV1dHJhbDoKKyAgICBjYXNlIFJpZ2h0VG9MZWZ0RW1iZWRkaW5nOgorICAg
IGNhc2UgTGVmdFRvUmlnaHRFbWJlZGRpbmc6CisgICAgY2FzZSBSaWdodFRvTGVmdE92ZXJyaWRl
OgorICAgIGNhc2UgTGVmdFRvUmlnaHRPdmVycmlkZToKKyAgICBjYXNlIFBvcERpcmVjdGlvbmFs
Rm9ybWF0OgorICAgICAgICAvLyBpZ25vcmUgdGhlc2UKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBFdXJvcGVhbk51bWJlcjoKKyAgICAgICAgLy8gZmFsbCB0aHJvdWdoCisgICAgZGVmYXVsdDoK
KyAgICAgICAgbV9zdGF0dXMubGFzdCA9IGRpckN1cnJlbnQ7CisgICAgfQorfQorCit0ZW1wbGF0
ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4KIHZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9y
LCBSdW4+OjpjcmVhdGVCaWRpUnVuc0ZvckxpbmUoY29uc3QgSXRlcmF0b3ImIGVuZCwgVmlzdWFs
RGlyZWN0aW9uT3ZlcnJpZGUgb3ZlcnJpZGUsIGJvb2wgaGFyZExpbmVCcmVhaykKIHsKICAgICB1
c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOwpAQCAtODU4LDQ0ICs5MDIsNyBAQCB2b2lkIEJp
ZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6Y3JlYXRlQmlkaVJ1bnNGb3JMaW5lKGNvbnN0IEl0
ZXJhdG9yJiBlbmQsIFZpcwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAotICAgICAg
ICAvLyBzZXQgbV9zdGF0dXMubGFzdCBhcyBuZWVkZWQuCi0gICAgICAgIHN3aXRjaCAoZGlyQ3Vy
cmVudCkgewotICAgICAgICAgICAgY2FzZSBFdXJvcGVhbk51bWJlclRlcm1pbmF0b3I6Ci0gICAg
ICAgICAgICAgICAgaWYgKG1fc3RhdHVzLmxhc3QgIT0gRXVyb3BlYW5OdW1iZXIpCi0gICAgICAg
ICAgICAgICAgICAgIG1fc3RhdHVzLmxhc3QgPSBFdXJvcGVhbk51bWJlclRlcm1pbmF0b3I7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlIEV1cm9wZWFuTnVtYmVyU2Vw
YXJhdG9yOgotICAgICAgICAgICAgY2FzZSBDb21tb25OdW1iZXJTZXBhcmF0b3I6Ci0gICAgICAg
ICAgICBjYXNlIFNlZ21lbnRTZXBhcmF0b3I6Ci0gICAgICAgICAgICBjYXNlIFdoaXRlU3BhY2VO
ZXV0cmFsOgotICAgICAgICAgICAgY2FzZSBPdGhlck5ldXRyYWw6Ci0gICAgICAgICAgICAgICAg
c3dpdGNoKG1fc3RhdHVzLmxhc3QpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBMZWZ0VG9S
aWdodDoKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBSaWdodFRvTGVmdDoKLSAgICAgICAgICAg
ICAgICAgICAgY2FzZSBSaWdodFRvTGVmdEFyYWJpYzoKLSAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBFdXJvcGVhbk51bWJlcjoKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBBcmFiaWNOdW1iZXI6
Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3N0YXR1cy5sYXN0ID0gZGlyQ3VycmVudDsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgICAgICAgICAgICAgbV9zdGF0dXMubGFzdCA9IE90aGVyTmV1dHJhbDsK
LSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSBOb25TcGFjaW5nTWFyazoKLSAgICAgICAgICAgIGNhc2UgQm91bmRhcnlOZXV0cmFs
OgotICAgICAgICAgICAgY2FzZSBSaWdodFRvTGVmdEVtYmVkZGluZzogCi0gICAgICAgICAgICBj
YXNlIExlZnRUb1JpZ2h0RW1iZWRkaW5nOiAKLSAgICAgICAgICAgIGNhc2UgUmlnaHRUb0xlZnRP
dmVycmlkZTogCi0gICAgICAgICAgICBjYXNlIExlZnRUb1JpZ2h0T3ZlcnJpZGU6IAotICAgICAg
ICAgICAgY2FzZSBQb3BEaXJlY3Rpb25hbEZvcm1hdDoKLSAgICAgICAgICAgICAgICAvLyBpZ25v
cmUgdGhlc2UKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgRXVyb3Bl
YW5OdW1iZXI6Ci0gICAgICAgICAgICAgICAgLy8gZmFsbCB0aHJvdWdoCi0gICAgICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgICAgIG1fc3RhdHVzLmxhc3QgPSBkaXJDdXJyZW50OwotICAg
ICAgICB9Ci0KKyAgICAgICAgdXBkYXRlU3RhdHVzTGFzdEZyb21DdXJyZW50RGlyZWN0aW9uKGRp
ckN1cnJlbnQpOwogICAgICAgICBsYXN0ID0gY3VycmVudDsKIAogICAgICAgICBpZiAoZW1wdHlS
dW4pIHsKQEAgLTk0MSwxMyArOTQ4LDkgQEAgdm9pZCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1
bj46OmNyZWF0ZUJpZGlSdW5zRm9yTGluZShjb25zdCBJdGVyYXRvciYgZW5kLCBWaXMKICAgICAv
LyBmaXJzdCBmaW5kIGhpZ2hlc3QgYW5kIGxvd2VzdCBsZXZlbHMKICAgICB1bnNpZ25lZCBjaGFy
IGxldmVsTG93ID0gMTI4OwogICAgIHVuc2lnbmVkIGNoYXIgbGV2ZWxIaWdoID0gMDsKLSAgICBS
dW4qIHIgPSBmaXJzdFJ1bigpOwotICAgIHdoaWxlIChyKSB7Ci0gICAgICAgIGlmIChyLT5tX2xl
dmVsID4gbGV2ZWxIaWdoKQotICAgICAgICAgICAgbGV2ZWxIaWdoID0gci0+bV9sZXZlbDsKLSAg
ICAgICAgaWYgKHItPm1fbGV2ZWwgPCBsZXZlbExvdykKLSAgICAgICAgICAgIGxldmVsTG93ID0g
ci0+bV9sZXZlbDsKLSAgICAgICAgciA9IHItPm5leHQoKTsKKyAgICBmb3IgKFJ1biogciA9IGZp
cnN0UnVuKCk7IHI7IHIgPSByLT5uZXh0KCkpIHsKKyAgICAgICAgbGV2ZWxIaWdoID0gbWF4KHIt
Pm1fbGV2ZWwsIGxldmVsSGlnaCk7CisgICAgICAgIGxldmVsTG93ID0gbWluKHItPm1fbGV2ZWws
IGxldmVsTG93KTsKICAgICB9CiAKICAgICAvLyBpbXBsZW1lbnRzIHJlb3JkZXJpbmcgb2YgdGhl
IGxpbmUgKEwyIGFjY29yZGluZyB0byBCaWRpIHNwZWMpOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>