<?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>16470</bug_id>
          
          <creation_ts>2007-12-17 02:37:18 -0800</creation_ts>
          <short_desc>Add IfElseNode and IfNoElseNode for speedup</short_desc>
          <delta_ts>2007-12-20 23:21:42 -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>JavaScriptCore</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>64498</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-12-17 02:37:18 -0800</bug_when>
    <thetext>Add IfElseNode and IfNoElseNode for speedup

This would avoid a branch in each, causing a win for SunSpider.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64500</commentid>
    <comment_count>1</comment_count>
      <attachid>17959</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-12-17 03:07:06 -0800</bug_when>
    <thetext>Created attachment 17959
Split IfElseNode from IfNode for speedup

 JavaScriptCore/ChangeLog            |   22 ++++++++++++++
 JavaScriptCore/kjs/grammar.y        |    4 +-
 JavaScriptCore/kjs/nodes.cpp        |   53 ++++++++++++++++++++++------------
 JavaScriptCore/kjs/nodes.h          |   23 +++++++++++----
 JavaScriptCore/kjs/nodes2string.cpp |   10 ++++--
 5 files changed, 82 insertions(+), 30 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64501</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-12-17 03:22:47 -0800</bug_when>
    <thetext>SunSpider claims this is slower on my machine, but I don&apos;t believe it.  I think it&apos;s just too noisy to tell.  Leaving it w/o review flag until I can prove otherwise however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64798</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-12-20 04:54:19 -0800</bug_when>
    <thetext>I&apos;m still convinced this will be a win.  I&apos;ll test it again after darin&apos;s final patch for bug 16471 lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64882</commentid>
    <comment_count>4</comment_count>
      <attachid>18018</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-12-20 16:14:06 -0800</bug_when>
    <thetext>Created attachment 18018
Split IfElseNode from IfNode for speedup

 JavaScriptCore/ChangeLog            |   25 +++++++++++++++++++++++
 JavaScriptCore/kjs/grammar.y        |    4 +-
 JavaScriptCore/kjs/nodes.cpp        |   37 +++++++++++++++++++++-------------
 JavaScriptCore/kjs/nodes.h          |   22 +++++++++++++++-----
 JavaScriptCore/kjs/nodes2string.cpp |   10 ++++++--
 5 files changed, 73 insertions(+), 25 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64883</commentid>
    <comment_count>5</comment_count>
      <attachid>18018</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-12-20 16:23:42 -0800</bug_when>
    <thetext>Comment on attachment 18018
Split IfElseNode from IfNode for speedup

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64921</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-12-20 23:21:42 -0800</bug_when>
    <thetext>r28929</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17959</attachid>
            <date>2007-12-17 03:07:06 -0800</date>
            <delta_ts>2007-12-20 16:14:22 -0800</delta_ts>
            <desc>Split IfElseNode from IfNode for speedup</desc>
            <filename>Split-IfElseNode-from-IfNode-for-speedup.patch</filename>
            <type>text/plain</type>
            <size>6948</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">YjcxOWMyYTlmZjk2MmJhMGQ1ODljMTNhODM4NDYwMjM5ZGRhMGU1MApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDJk
NDRkYjIuLjg2MzZjMDAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAwNy0xMi0xNyAg
RXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBTcGxpdCBJZk5vZGUgaW50byBJZk5vZGUg
YW5kIElmRWxzZU5vZGUgZm9yIHNwZWVkdXAuCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NDcwCisKKyAgICAgICAgKiBranMvZ3JhbW1hci55OgorICAg
ICAgICAqIGtqcy9ub2Rlcy5jcHA6CisgICAgICAgIChLSlM6OklmTm9kZTo6b3B0aW1pemVWYXJp
YWJsZUFjY2Vzcyk6CisgICAgICAgIChLSlM6OklmTm9kZTo6ZXhlY3V0ZSk6CisgICAgICAgIChL
SlM6OklmTm9kZTo6Z2V0RGVjbGFyYXRpb25zKToKKyAgICAgICAgKEtKUzo6SWZFbHNlTm9kZTo6
b3B0aW1pemVWYXJpYWJsZUFjY2Vzcyk6CisgICAgICAgIChLSlM6OklmRWxzZU5vZGU6OmV4ZWN1
dGUpOgorICAgICAgICAoS0pTOjpJZkVsc2VOb2RlOjpnZXREZWNsYXJhdGlvbnMpOgorICAgICAg
ICAqIGtqcy9ub2Rlcy5oOgorICAgICAgICAoS0pTOjpJZk5vZGU6Oik6CisgICAgICAgIChLSlM6
OklmRWxzZU5vZGU6Oik6CisgICAgICAgICoga2pzL25vZGVzMnN0cmluZy5jcHA6CisgICAgICAg
IChLSlM6OklmTm9kZTo6c3RyZWFtVG8pOgorICAgICAgICAoS0pTOjpJZkVsc2VOb2RlOjpzdHJl
YW1Ubyk6CisKIDIwMDctMTItMTcgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIC0gc3BlY3VsYXRpdmUgYnVpbGQgZml4IGZvciBub24tZ2NjIHBsYXRmb3JtcwpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUva2pzL2dyYW1tYXIueSBiL0phdmFTY3JpcHRDb3JlL2tq
cy9ncmFtbWFyLnkKaW5kZXggODlmYmE5Yi4uYWJmNzE0MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUva2pzL2dyYW1tYXIueQorKysgYi9KYXZhU2NyaXB0Q29yZS9ranMvZ3JhbW1hci55CkBA
IC03MzgsOSArNzM4LDkgQEAgRXhwclN0YXRlbWVudDoKIAogSWZTdGF0ZW1lbnQ6CiAgICAgSUYg
JygnIEV4cHIgJyknIFN0YXRlbWVudCAlcHJlYyBJRl9XSVRIT1VUX0VMU0UKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICQkID0gbmV3IElmTm9kZSgkMywgJDUsIDAp
OyBEQkcoJCQsIEAxLCBANCk7IH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB7ICQkID0gbmV3IElmTm9kZSgkMywgJDUpOyBEQkcoJCQsIEAxLCBANCk7IH0KICAgfCBJ
RiAnKCcgRXhwciAnKScgU3RhdGVtZW50IEVMU0UgU3RhdGVtZW50Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgeyAkJCA9IG5ldyBJZk5vZGUoJDMsICQ1LCAkNyk7IERC
RygkJCwgQDEsIEA0KTsgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHsgJCQgPSBuZXcgSWZFbHNlTm9kZSgkMywgJDUsICQ3KTsgREJHKCQkLCBAMSwgQDQpOyB9CiA7
CiAKIEl0ZXJhdGlvblN0YXRlbWVudDoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2tqcy9u
b2Rlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuY3BwCmluZGV4IGMzN2U0MTEuLjc2
ZTI4ZTggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUva2pzL25vZGVzLmNwcApAQCAtMzcxNywxMiArMzcxNyw4IEBAIENvbXBsZXRp
b24gRXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoRXhlY1N0YXRlICpleGVjKQogCiB2b2lkIElm
Tm9kZTo6b3B0aW1pemVWYXJpYWJsZUFjY2VzcyhTeW1ib2xUYWJsZSYsIERlY2xhcmF0aW9uU3Rh
Y2tzOjpOb2RlU3RhY2smIG5vZGVTdGFjaykKIHsKLSAgICBpZiAoc3RhdGVtZW50MikKLSAgICAg
ICAgbm9kZVN0YWNrLmFwcGVuZChzdGF0ZW1lbnQyLmdldCgpKTsKLSAgICBBU1NFUlQoc3RhdGVt
ZW50MSk7Ci0gICAgbm9kZVN0YWNrLmFwcGVuZChzdGF0ZW1lbnQxLmdldCgpKTsKLSAgICBBU1NF
UlQoZXhwcik7Ci0gICAgbm9kZVN0YWNrLmFwcGVuZChleHByLmdldCgpKTsKKyAgICBub2RlU3Rh
Y2suYXBwZW5kKG1faWZCbG9jay5nZXQoKSk7CisgICAgbm9kZVN0YWNrLmFwcGVuZChtX2NvbmRp
dGlvbi5nZXQoKSk7CiB9CiAKIC8vIEVDTUEgMTIuNQpAQCAtMzczMCwyNyArMzcyNiw0NiBAQCBD
b21wbGV0aW9uIElmTm9kZTo6ZXhlY3V0ZShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgS0pTX0JS
RUFLUE9JTlQ7CiAKLSAgICBib29sIGIgPSBleHByLT5ldmFsdWF0ZVRvQm9vbGVhbihleGVjKTsK
KyAgICBib29sIGIgPSBtX2NvbmRpdGlvbi0+ZXZhbHVhdGVUb0Jvb2xlYW4oZXhlYyk7CiAgICAg
S0pTX0NIRUNLRVhDRVBUSU9OCiAKLSAgICAvLyBpZiAuLi4gdGhlbgogICAgIGlmIChiKQotICAg
ICAgICByZXR1cm4gc3RhdGVtZW50MS0+ZXhlY3V0ZShleGVjKTsKKyAgICAgICAgcmV0dXJuIG1f
aWZCbG9jay0+ZXhlY3V0ZShleGVjKTsKKyAgICByZXR1cm4gQ29tcGxldGlvbihOb3JtYWwpOwor
fQogCi0gICAgLy8gbm8gZWxzZQotICAgIGlmICghc3RhdGVtZW50MikKLSAgICAgICAgcmV0dXJu
IENvbXBsZXRpb24oTm9ybWFsKTsKK3ZvaWQgSWZOb2RlOjpnZXREZWNsYXJhdGlvbnMoRGVjbGFy
YXRpb25TdGFja3MmIHN0YWNrcykKK3sKKyAgICBpZiAobV9pZkJsb2NrLT5tYXlIYXZlRGVjbGFy
YXRpb25zKCkpCisgICAgICAgIHN0YWNrcy5ub2RlU3RhY2suYXBwZW5kKG1faWZCbG9jay5nZXQo
KSk7Cit9CiAKLSAgICAvLyBlbHNlCi0gICAgcmV0dXJuIHN0YXRlbWVudDItPmV4ZWN1dGUoZXhl
Yyk7Cit2b2lkIElmRWxzZU5vZGU6Om9wdGltaXplVmFyaWFibGVBY2Nlc3MoU3ltYm9sVGFibGUm
IHRhYmxlLCBEZWNsYXJhdGlvblN0YWNrczo6Tm9kZVN0YWNrJiBub2RlU3RhY2spCit7CisgICAg
bm9kZVN0YWNrLmFwcGVuZChtX2Vsc2VCbG9jay5nZXQoKSk7CisgICAgSWZOb2RlOjpvcHRpbWl6
ZVZhcmlhYmxlQWNjZXNzKHRhYmxlLCBub2RlU3RhY2spOwogfQogCi12b2lkIElmTm9kZTo6Z2V0
RGVjbGFyYXRpb25zKERlY2xhcmF0aW9uU3RhY2tzJiBzdGFja3MpCisvLyBFQ01BIDEyLjUKK0Nv
bXBsZXRpb24gSWZFbHNlTm9kZTo6ZXhlY3V0ZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgS0pT
X0JSRUFLUE9JTlQ7CisKKyAgICBib29sIGIgPSBtX2NvbmRpdGlvbi0+ZXZhbHVhdGVUb0Jvb2xl
YW4oZXhlYyk7CisgICAgS0pTX0NIRUNLRVhDRVBUSU9OCisKKyAgICBpZiAoYikKKyAgICAgICAg
cmV0dXJuIG1faWZCbG9jay0+ZXhlY3V0ZShleGVjKTsKKworICAgIHJldHVybiBtX2Vsc2VCbG9j
ay0+ZXhlY3V0ZShleGVjKTsKK30KKwordm9pZCBJZkVsc2VOb2RlOjpnZXREZWNsYXJhdGlvbnMo
RGVjbGFyYXRpb25TdGFja3MmIHN0YWNrcykKIHsgCi0gICAgaWYgKHN0YXRlbWVudDIgJiYgc3Rh
dGVtZW50Mi0+bWF5SGF2ZURlY2xhcmF0aW9ucygpKSAKLSAgICAgICAgc3RhY2tzLm5vZGVTdGFj
ay5hcHBlbmQoc3RhdGVtZW50Mi5nZXQoKSk7IAotICAgIGlmIChzdGF0ZW1lbnQxLT5tYXlIYXZl
RGVjbGFyYXRpb25zKCkpIAotICAgICAgICBzdGFja3Mubm9kZVN0YWNrLmFwcGVuZChzdGF0ZW1l
bnQxLmdldCgpKTsgCisgICAgaWYgKG1fZWxzZUJsb2NrLT5tYXlIYXZlRGVjbGFyYXRpb25zKCkp
CisgICAgICAgIHN0YWNrcy5ub2RlU3RhY2suYXBwZW5kKG1fZWxzZUJsb2NrLmdldCgpKTsKKyAg
ICBpZiAobV9pZkJsb2NrLT5tYXlIYXZlRGVjbGFyYXRpb25zKCkpCisgICAgICAgIHN0YWNrcy5u
b2RlU3RhY2suYXBwZW5kKG1faWZCbG9jay5nZXQoKSk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSBEb1doaWxlTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuaCBiL0phdmFTY3Jp
cHRDb3JlL2tqcy9ub2Rlcy5oCmluZGV4IDY4ZjAyNzQuLjU3MGNmZTQgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5o
CkBAIC0xNzc3LDE4ICsxNzc3LDI5IEBAIG5hbWVzcGFjZSBLSlMgewogCiAgIGNsYXNzIElmTm9k
ZSA6IHB1YmxpYyBTdGF0ZW1lbnROb2RlIHsKICAgcHVibGljOgotICAgIElmTm9kZShFeHByZXNz
aW9uTm9kZSogZSwgU3RhdGVtZW50Tm9kZSAqczEsIFN0YXRlbWVudE5vZGUgKnMyKSBLSlNfRkFT
VF9DQUxMCi0gICAgICA6IGV4cHIoZSksIHN0YXRlbWVudDEoczEpLCBzdGF0ZW1lbnQyKHMyKSB7
IG1fbWF5SGF2ZURlY2xhcmF0aW9ucyA9IHN0YXRlbWVudDEtPm1heUhhdmVEZWNsYXJhdGlvbnMo
KSB8fCAoc3RhdGVtZW50MiAmJiBzdGF0ZW1lbnQyLT5tYXlIYXZlRGVjbGFyYXRpb25zKCkpOyB9
CisgICAgSWZOb2RlKEV4cHJlc3Npb25Ob2RlKiBlLCBTdGF0ZW1lbnROb2RlKiBzKSBLSlNfRkFT
VF9DQUxMCisgICAgICA6IG1fY29uZGl0aW9uKGUpLCBtX2lmQmxvY2socykgeyBtX21heUhhdmVE
ZWNsYXJhdGlvbnMgPSBtX2lmQmxvY2stPm1heUhhdmVEZWNsYXJhdGlvbnMoKTsgfQogICAgIHZp
cnR1YWwgdm9pZCBvcHRpbWl6ZVZhcmlhYmxlQWNjZXNzKFN5bWJvbFRhYmxlJiwgRGVjbGFyYXRp
b25TdGFja3M6Ok5vZGVTdGFjayYpIEtKU19GQVNUX0NBTEw7CiAgICAgdmlydHVhbCBDb21wbGV0
aW9uIGV4ZWN1dGUoRXhlY1N0YXRlKikgS0pTX0ZBU1RfQ0FMTDsKICAgICB2aXJ0dWFsIHZvaWQg
c3RyZWFtVG8oU291cmNlU3RyZWFtJikgY29uc3QgS0pTX0ZBU1RfQ0FMTDsKICAgICB2aXJ0dWFs
IHZvaWQgZ2V0RGVjbGFyYXRpb25zKERlY2xhcmF0aW9uU3RhY2tzJikgS0pTX0ZBU1RfQ0FMTDsK
LSAgcHJpdmF0ZToKLSAgICBSZWZQdHI8RXhwcmVzc2lvbk5vZGU+IGV4cHI7Ci0gICAgUmVmUHRy
PFN0YXRlbWVudE5vZGU+IHN0YXRlbWVudDE7Ci0gICAgUmVmUHRyPFN0YXRlbWVudE5vZGU+IHN0
YXRlbWVudDI7CisgIHByb3RlY3RlZDoKKyAgICBSZWZQdHI8RXhwcmVzc2lvbk5vZGU+IG1fY29u
ZGl0aW9uOworICAgIFJlZlB0cjxTdGF0ZW1lbnROb2RlPiBtX2lmQmxvY2s7CiAgIH07CiAKKyAg
ICBjbGFzcyBJZkVsc2VOb2RlIDogcHVibGljIElmTm9kZSB7CisgICAgcHVibGljOgorICAgICAg
ICBJZkVsc2VOb2RlKEV4cHJlc3Npb25Ob2RlKiBlLCBTdGF0ZW1lbnROb2RlKiBpZkJsb2NrLCBT
dGF0ZW1lbnROb2RlKiBlbHNlQmxvY2spIEtKU19GQVNUX0NBTEwKKyAgICAgICAgOiBJZk5vZGUo
ZSwgaWZCbG9jayksIG1fZWxzZUJsb2NrKGVsc2VCbG9jaykgeyBtX21heUhhdmVEZWNsYXJhdGlv
bnMgPSBtX2lmQmxvY2stPm1heUhhdmVEZWNsYXJhdGlvbnMoKSB8fCAobV9lbHNlQmxvY2stPm1h
eUhhdmVEZWNsYXJhdGlvbnMoKSk7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIG9wdGltaXplVmFy
aWFibGVBY2Nlc3MoU3ltYm9sVGFibGUmLCBEZWNsYXJhdGlvblN0YWNrczo6Tm9kZVN0YWNrJikg
S0pTX0ZBU1RfQ0FMTDsKKyAgICAgICAgdmlydHVhbCBDb21wbGV0aW9uIGV4ZWN1dGUoRXhlY1N0
YXRlKikgS0pTX0ZBU1RfQ0FMTDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN0cmVhbVRvKFNvdXJj
ZVN0cmVhbSYpIGNvbnN0IEtKU19GQVNUX0NBTEw7CisgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRE
ZWNsYXJhdGlvbnMoRGVjbGFyYXRpb25TdGFja3MmKSBLSlNfRkFTVF9DQUxMOworICAgIHByaXZh
dGU6CisgICAgICAgIFJlZlB0cjxTdGF0ZW1lbnROb2RlPiBtX2Vsc2VCbG9jazsKKyAgICB9Owor
CiAgIGNsYXNzIERvV2hpbGVOb2RlIDogcHVibGljIFN0YXRlbWVudE5vZGUgewogICBwdWJsaWM6
CiAgICAgRG9XaGlsZU5vZGUoU3RhdGVtZW50Tm9kZSAqcywgRXhwcmVzc2lvbk5vZGUqIGUpIEtK
U19GQVNUX0NBTEwgOiBzdGF0ZW1lbnQocyksIGV4cHIoZSkgeyBtX21heUhhdmVEZWNsYXJhdGlv
bnMgPSB0cnVlOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMyc3RyaW5n
LmNwcCBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2RlczJzdHJpbmcuY3BwCmluZGV4IDYzZjNmNDgu
LjNhZjQ4ODAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2RlczJzdHJpbmcuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL2tqcy9ub2RlczJzdHJpbmcuY3BwCkBAIC03NTIsOSArNzUy
LDEzIEBAIHZvaWQgRXhwclN0YXRlbWVudE5vZGU6OnN0cmVhbVRvKFNvdXJjZVN0cmVhbSYgcykg
Y29uc3QKIAogdm9pZCBJZk5vZGU6OnN0cmVhbVRvKFNvdXJjZVN0cmVhbSYgcykgY29uc3QKIHsK
LSAgICBzIDw8IEVuZGwgPDwgImlmICgiIDw8IGV4cHIgPDwgJyknIDw8IEluZGVudCA8PCBzdGF0
ZW1lbnQxIDw8IFVuaW5kZW50OwotICAgIGlmIChzdGF0ZW1lbnQyKQotICAgICAgICBzIDw8IEVu
ZGwgPDwgImVsc2UiIDw8IEluZGVudCA8PCBzdGF0ZW1lbnQyIDw8IFVuaW5kZW50OworICAgIHMg
PDwgRW5kbCA8PCAiaWYgKCIgPDwgbV9jb25kaXRpb24gPDwgJyknIDw8IEluZGVudCA8PCBtX2lm
QmxvY2sgPDwgVW5pbmRlbnQ7Cit9CisKK3ZvaWQgSWZFbHNlTm9kZTo6c3RyZWFtVG8oU291cmNl
U3RyZWFtJiBzKSBjb25zdAoreworICAgIElmTm9kZTo6c3RyZWFtVG8ocyk7CisgICAgcyA8PCBF
bmRsIDw8ICJlbHNlIiA8PCBJbmRlbnQgPDwgbV9lbHNlQmxvY2sgPDwgVW5pbmRlbnQ7CiB9CiAK
IHZvaWQgRG9XaGlsZU5vZGU6OnN0cmVhbVRvKFNvdXJjZVN0cmVhbSYgcykgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18018</attachid>
            <date>2007-12-20 16:14:06 -0800</date>
            <delta_ts>2007-12-20 16:23:42 -0800</delta_ts>
            <desc>Split IfElseNode from IfNode for speedup</desc>
            <filename>Split-IfElseNode-from-IfNode-for-speedup.patch</filename>
            <type>text/plain</type>
            <size>6542</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">MjQ2Yzk5YjhlZjVmODc3MjYzYjRmOWVhNzhlYmRhZmMwZDk4NDhmZApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGMw
YWNiYTAuLjE4Y2JjOWUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwNy0xMi0xNyAg
RXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBTcGxpdCBJZk5vZGUgaW50byBJZk5vZGUg
YW5kIElmRWxzZU5vZGUgZm9yIHNwZWVkdXAuCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NDcwCisgICAgICAgIAorICAgICAgICBTdW5TcGlkZXIgY2xh
aW1zIHRoaXMgaXMgMS4wMDN4IGFzIGZhc3QgYXMgYmVmb3JlLgorICAgICAgICAoVGhpcyByZXF1
aXJlZCBydW5uaW5nIHdpdGggLS1ydW5zIDE1IHRvIGdldCBjb25zaXN0ZW50IGVub3VnaCByZXN1
bHRzIHRvIHRlbGwhKQorCisgICAgICAgICoga2pzL2dyYW1tYXIueToKKyAgICAgICAgKiBranMv
bm9kZXMuY3BwOgorICAgICAgICAoS0pTOjpJZk5vZGU6Om9wdGltaXplVmFyaWFibGVBY2Nlc3Mp
OgorICAgICAgICAoS0pTOjpJZk5vZGU6OmV4ZWN1dGUpOgorICAgICAgICAoS0pTOjpJZk5vZGU6
OmdldERlY2xhcmF0aW9ucyk6CisgICAgICAgIChLSlM6OklmRWxzZU5vZGU6Om9wdGltaXplVmFy
aWFibGVBY2Nlc3MpOgorICAgICAgICAoS0pTOjpJZkVsc2VOb2RlOjpleGVjdXRlKToKKyAgICAg
ICAgKEtKUzo6SWZFbHNlTm9kZTo6Z2V0RGVjbGFyYXRpb25zKToKKyAgICAgICAgKiBranMvbm9k
ZXMuaDoKKyAgICAgICAgKEtKUzo6SWZOb2RlOjopOgorICAgICAgICAoS0pTOjpJZkVsc2VOb2Rl
OjopOgorICAgICAgICAqIGtqcy9ub2RlczJzdHJpbmcuY3BwOgorICAgICAgICAoS0pTOjpJZk5v
ZGU6OnN0cmVhbVRvKToKKyAgICAgICAgKEtKUzo6SWZFbHNlTm9kZTo6c3RyZWFtVG8pOgorCiAy
MDA3LTEyLTIwICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgR2VvZmYuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ranMvZ3JhbW1hci55
IGIvSmF2YVNjcmlwdENvcmUva2pzL2dyYW1tYXIueQppbmRleCA4YjEwMmQyLi41YWE4ODczIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ranMvZ3JhbW1hci55CisrKyBiL0phdmFTY3JpcHRD
b3JlL2tqcy9ncmFtbWFyLnkKQEAgLTgwMSwxMCArODAxLDEwIEBAIEV4cHJTdGF0ZW1lbnQ6CiAK
IElmU3RhdGVtZW50OgogICAgIElGICcoJyBFeHByICcpJyBTdGF0ZW1lbnQgJXByZWMgSUZfV0lU
SE9VVF9FTFNFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkJCA9
IGNyZWF0ZU5vZGVJbmZvPFN0YXRlbWVudE5vZGUqPihuZXcgSWZOb2RlKCQzLCAkNS5tX25vZGUs
IDApLCAkNS5tX3ZhckRlY2xhcmF0aW9ucywgJDUubV9mdW5jRGVjbGFyYXRpb25zKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICQkID0gY3JlYXRlTm9kZUluZm88
U3RhdGVtZW50Tm9kZSo+KG5ldyBJZk5vZGUoJDMsICQ1Lm1fbm9kZSksICQ1Lm1fdmFyRGVjbGFy
YXRpb25zLCAkNS5tX2Z1bmNEZWNsYXJhdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgREJHKCQkLm1fbm9kZSwgQDEsIEA0KTsgfQogICB8IElGICcoJyBF
eHByICcpJyBTdGF0ZW1lbnQgRUxTRSBTdGF0ZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB7ICQkID0gY3JlYXRlTm9kZUluZm88U3RhdGVtZW50Tm9kZSo+KG5l
dyBJZk5vZGUoJDMsICQ1Lm1fbm9kZSwgJDcubV9ub2RlKSwgbWVyZ2VEZWNsYXJhdGlvbkxpc3Rz
KCQ1Lm1fdmFyRGVjbGFyYXRpb25zLCAkNy5tX3ZhckRlY2xhcmF0aW9ucyksIG1lcmdlRGVjbGFy
YXRpb25MaXN0cygkNS5tX2Z1bmNEZWNsYXJhdGlvbnMsICQ3Lm1fZnVuY0RlY2xhcmF0aW9ucykp
OyAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICQkID0gY3JlYXRl
Tm9kZUluZm88U3RhdGVtZW50Tm9kZSo+KG5ldyBJZkVsc2VOb2RlKCQzLCAkNS5tX25vZGUsICQ3
Lm1fbm9kZSksIG1lcmdlRGVjbGFyYXRpb25MaXN0cygkNS5tX3ZhckRlY2xhcmF0aW9ucywgJDcu
bV92YXJEZWNsYXJhdGlvbnMpLCBtZXJnZURlY2xhcmF0aW9uTGlzdHMoJDUubV9mdW5jRGVjbGFy
YXRpb25zLCAkNy5tX2Z1bmNEZWNsYXJhdGlvbnMpKTsgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBEQkcoJCQubV9ub2RlLCBAMSwgQDQpOyB9CiA7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2Rlcy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ranMv
bm9kZXMuY3BwCmluZGV4IDY3MWY0OWIuLmE3ZWU3NjMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2tqcy9ub2Rlcy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzLmNwcApAQCAt
MzY1MiwxMiArMzY1Miw4IEBAIEpTVmFsdWUqIEV4cHJTdGF0ZW1lbnROb2RlOjpleGVjdXRlKEV4
ZWNTdGF0ZSogZXhlYykKIAogdm9pZCBJZk5vZGU6Om9wdGltaXplVmFyaWFibGVBY2Nlc3MoU3lt
Ym9sVGFibGUmLCBEZWNsYXJhdGlvblN0YWNrczo6Tm9kZVN0YWNrJiBub2RlU3RhY2spCiB7Ci0g
ICAgaWYgKHN0YXRlbWVudDIpCi0gICAgICAgIG5vZGVTdGFjay5hcHBlbmQoc3RhdGVtZW50Mi5n
ZXQoKSk7Ci0gICAgQVNTRVJUKHN0YXRlbWVudDEpOwotICAgIG5vZGVTdGFjay5hcHBlbmQoc3Rh
dGVtZW50MS5nZXQoKSk7Ci0gICAgQVNTRVJUKGV4cHIpOwotICAgIG5vZGVTdGFjay5hcHBlbmQo
ZXhwci5nZXQoKSk7CisgICAgbm9kZVN0YWNrLmFwcGVuZChtX2lmQmxvY2suZ2V0KCkpOworICAg
IG5vZGVTdGFjay5hcHBlbmQobV9jb25kaXRpb24uZ2V0KCkpOwogfQogCiAvLyBFQ01BIDEyLjUK
QEAgLTM2NjUsMTkgKzM2NjEsMzIgQEAgSlNWYWx1ZSogSWZOb2RlOjpleGVjdXRlKEV4ZWNTdGF0
ZSogZXhlYykKIHsKICAgICBLSlNfQlJFQUtQT0lOVAogCi0gICAgYm9vbCBiID0gZXhwci0+ZXZh
bHVhdGVUb0Jvb2xlYW4oZXhlYyk7CisgICAgYm9vbCBiID0gbV9jb25kaXRpb24tPmV2YWx1YXRl
VG9Cb29sZWFuKGV4ZWMpOwogICAgIEtKU19DSEVDS0VYQ0VQVElPTgogCi0gICAgLy8gaWYgLi4u
IHRoZW4KICAgICBpZiAoYikKLSAgICAgICAgcmV0dXJuIHN0YXRlbWVudDEtPmV4ZWN1dGUoZXhl
Yyk7CisgICAgICAgIHJldHVybiBtX2lmQmxvY2stPmV4ZWN1dGUoZXhlYyk7CisgICAgcmV0dXJu
IGV4ZWMtPnNldE5vcm1hbENvbXBsZXRpb24oKTsKK30KKwordm9pZCBJZkVsc2VOb2RlOjpvcHRp
bWl6ZVZhcmlhYmxlQWNjZXNzKFN5bWJvbFRhYmxlJiB0YWJsZSwgRGVjbGFyYXRpb25TdGFja3M6
Ok5vZGVTdGFjayYgbm9kZVN0YWNrKQoreworICAgIG5vZGVTdGFjay5hcHBlbmQobV9lbHNlQmxv
Y2suZ2V0KCkpOworICAgIElmTm9kZTo6b3B0aW1pemVWYXJpYWJsZUFjY2Vzcyh0YWJsZSwgbm9k
ZVN0YWNrKTsKK30KIAotICAgIC8vIG5vIGVsc2UKLSAgICBpZiAoIXN0YXRlbWVudDIpCi0gICAg
ICAgIHJldHVybiBleGVjLT5zZXROb3JtYWxDb21wbGV0aW9uKCk7CisvLyBFQ01BIDEyLjUKK0pT
VmFsdWUqIElmRWxzZU5vZGU6OmV4ZWN1dGUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEtKU19C
UkVBS1BPSU5UOworCisgICAgYm9vbCBiID0gbV9jb25kaXRpb24tPmV2YWx1YXRlVG9Cb29sZWFu
KGV4ZWMpOworICAgIEtKU19DSEVDS0VYQ0VQVElPTgorCisgICAgaWYgKGIpCisgICAgICAgIHJl
dHVybiBtX2lmQmxvY2stPmV4ZWN1dGUoZXhlYyk7CiAKLSAgICAvLyBlbHNlCi0gICAgcmV0dXJu
IHN0YXRlbWVudDItPmV4ZWN1dGUoZXhlYyk7CisgICAgcmV0dXJuIG1fZWxzZUJsb2NrLT5leGVj
dXRlKGV4ZWMpOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRG9XaGls
ZU5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUva2pzL25vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuaAppbmRl
eCBiOTQ1MWY1Li41YmZjYjc2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ranMvbm9kZXMuaApAQCAtMTc4MywxNyArMTc4MywyNyBA
QCBuYW1lc3BhY2UgS0pTIHsKIAogICBjbGFzcyBJZk5vZGUgOiBwdWJsaWMgU3RhdGVtZW50Tm9k
ZSB7CiAgIHB1YmxpYzoKLSAgICBJZk5vZGUoRXhwcmVzc2lvbk5vZGUqIGUsIFN0YXRlbWVudE5v
ZGUgKnMxLCBTdGF0ZW1lbnROb2RlICpzMikgS0pTX0ZBU1RfQ0FMTAotICAgICAgOiBleHByKGUp
LCBzdGF0ZW1lbnQxKHMxKSwgc3RhdGVtZW50MihzMikgeyB9CisgICAgSWZOb2RlKEV4cHJlc3Np
b25Ob2RlKiBlLCBTdGF0ZW1lbnROb2RlICpzKSBLSlNfRkFTVF9DQUxMCisgICAgICA6IG1fY29u
ZGl0aW9uKGUpLCBtX2lmQmxvY2socykgeyB9CiAgICAgdmlydHVhbCB2b2lkIG9wdGltaXplVmFy
aWFibGVBY2Nlc3MoU3ltYm9sVGFibGUmLCBEZWNsYXJhdGlvblN0YWNrczo6Tm9kZVN0YWNrJikg
S0pTX0ZBU1RfQ0FMTDsKICAgICB2aXJ0dWFsIEpTVmFsdWUqIGV4ZWN1dGUoRXhlY1N0YXRlKikg
S0pTX0ZBU1RfQ0FMTDsKICAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtVG8oU291cmNlU3RyZWFtJikg
Y29uc3QgS0pTX0ZBU1RfQ0FMTDsKLSAgcHJpdmF0ZToKLSAgICBSZWZQdHI8RXhwcmVzc2lvbk5v
ZGU+IGV4cHI7Ci0gICAgUmVmUHRyPFN0YXRlbWVudE5vZGU+IHN0YXRlbWVudDE7Ci0gICAgUmVm
UHRyPFN0YXRlbWVudE5vZGU+IHN0YXRlbWVudDI7CisgIHByb3RlY3RlZDoKKyAgICBSZWZQdHI8
RXhwcmVzc2lvbk5vZGU+IG1fY29uZGl0aW9uOworICAgIFJlZlB0cjxTdGF0ZW1lbnROb2RlPiBt
X2lmQmxvY2s7CiAgIH07CiAKKyAgICBjbGFzcyBJZkVsc2VOb2RlIDogcHVibGljIElmTm9kZSB7
CisgICAgcHVibGljOgorICAgICAgICBJZkVsc2VOb2RlKEV4cHJlc3Npb25Ob2RlKiBlLCBTdGF0
ZW1lbnROb2RlKiBpZkJsb2NrLCBTdGF0ZW1lbnROb2RlKiBlbHNlQmxvY2spIEtKU19GQVNUX0NB
TEwKKyAgICAgICAgICAgIDogSWZOb2RlKGUsIGlmQmxvY2spLCBtX2Vsc2VCbG9jayhlbHNlQmxv
Y2spIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgb3B0aW1pemVWYXJpYWJsZUFjY2VzcyhTeW1i
b2xUYWJsZSYsIERlY2xhcmF0aW9uU3RhY2tzOjpOb2RlU3RhY2smKSBLSlNfRkFTVF9DQUxMOwor
ICAgICAgICB2aXJ0dWFsIEpTVmFsdWUqIGV4ZWN1dGUoRXhlY1N0YXRlKikgS0pTX0ZBU1RfQ0FM
TDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN0cmVhbVRvKFNvdXJjZVN0cmVhbSYpIGNvbnN0IEtK
U19GQVNUX0NBTEw7CisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVmUHRyPFN0YXRlbWVudE5vZGU+
IG1fZWxzZUJsb2NrOworICAgIH07CisKICAgY2xhc3MgRG9XaGlsZU5vZGUgOiBwdWJsaWMgU3Rh
dGVtZW50Tm9kZSB7CiAgIHB1YmxpYzoKICAgICBEb1doaWxlTm9kZShTdGF0ZW1lbnROb2RlICpz
LCBFeHByZXNzaW9uTm9kZSogZSkgS0pTX0ZBU1RfQ0FMTCA6IHN0YXRlbWVudChzKSwgZXhwcihl
KSB7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2tqcy9ub2RlczJzdHJpbmcuY3BwIGIv
SmF2YVNjcmlwdENvcmUva2pzL25vZGVzMnN0cmluZy5jcHAKaW5kZXggNjNmM2Y0OC4uM2FmNDg4
MCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUva2pzL25vZGVzMnN0cmluZy5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUva2pzL25vZGVzMnN0cmluZy5jcHAKQEAgLTc1Miw5ICs3NTIsMTMgQEAg
dm9pZCBFeHByU3RhdGVtZW50Tm9kZTo6c3RyZWFtVG8oU291cmNlU3RyZWFtJiBzKSBjb25zdAog
CiB2b2lkIElmTm9kZTo6c3RyZWFtVG8oU291cmNlU3RyZWFtJiBzKSBjb25zdAogewotICAgIHMg
PDwgRW5kbCA8PCAiaWYgKCIgPDwgZXhwciA8PCAnKScgPDwgSW5kZW50IDw8IHN0YXRlbWVudDEg
PDwgVW5pbmRlbnQ7Ci0gICAgaWYgKHN0YXRlbWVudDIpCi0gICAgICAgIHMgPDwgRW5kbCA8PCAi
ZWxzZSIgPDwgSW5kZW50IDw8IHN0YXRlbWVudDIgPDwgVW5pbmRlbnQ7CisgICAgcyA8PCBFbmRs
IDw8ICJpZiAoIiA8PCBtX2NvbmRpdGlvbiA8PCAnKScgPDwgSW5kZW50IDw8IG1faWZCbG9jayA8
PCBVbmluZGVudDsKK30KKwordm9pZCBJZkVsc2VOb2RlOjpzdHJlYW1UbyhTb3VyY2VTdHJlYW0m
IHMpIGNvbnN0Cit7CisgICAgSWZOb2RlOjpzdHJlYW1UbyhzKTsKKyAgICBzIDw8IEVuZGwgPDwg
ImVsc2UiIDw8IEluZGVudCA8PCBtX2Vsc2VCbG9jayA8PCBVbmluZGVudDsKIH0KIAogdm9pZCBE
b1doaWxlTm9kZTo6c3RyZWFtVG8oU291cmNlU3RyZWFtJiBzKSBjb25zdAo=
</data>
<flag name="review"
          id="7820"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>