<?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>5687</bug_id>
          
          <creation_ts>2005-11-09 08:48:15 -0800</creation_ts>
          <short_desc>inline more ScopeChain functions for speed</short_desc>
          <delta_ts>2005-11-26 17:27:38 -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>420+</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23868</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-11-09 08:48:15 -0800</bug_when>
    <thetext> </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23869</commentid>
    <comment_count>1</comment_count>
      <attachid>4650</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-11-09 08:48:39 -0800</bug_when>
    <thetext>Created attachment 4650
make more functions inline for speed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24185</commentid>
    <comment_count>2</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-11-17 00:12:43 -0800</bug_when>
    <thetext>I suspect this might not make a speed difference any more, now that an iterator with inline operations is 
used to traverse the scope chain during execution, instead of making a copy and popping.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24478</commentid>
    <comment_count>3</comment_count>
      <attachid>4650</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-11-23 17:28:30 -0800</bug_when>
    <thetext>Comment on attachment 4650
make more functions inline for speed

While I understand that these functions are no longer as hot as they used to
be, I still think inlining them makes sense -- they are only used in 1 or 2
places and they are performance-critiical places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24499</commentid>
    <comment_count>4</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-11-24 00:45:03 -0800</bug_when>
    <thetext>Upon further reading I think inlining mark() will almost certainly make a difference but I am not really sure 
about the others - worth measuring and profiling.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24513</commentid>
    <comment_count>5</comment_count>
      <attachid>4650</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-11-24 12:12:26 -0800</bug_when>
    <thetext>Comment on attachment 4650
make more functions inline for speed

The code looks fine.  However while you&apos;re in there, you might as well clean up
the formatting of ScopeChain::bottom() (spacing) and ScopeChain::pop() (one
line if) to follow our published coding guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4650</attachid>
            <date>2005-11-09 08:48:39 -0800</date>
            <delta_ts>2005-11-24 12:12:26 -0800</delta_ts>
            <desc>make more functions inline for speed</desc>
            <filename>ScopeChainInliningPatch.txt</filename>
            <type>text/plain</type>
            <size>4162</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IGtqcy9vYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNj
cmlwdENvcmUva2pzL29iamVjdC5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQ3CmRpZmYgLXAg
LXUgLXIxLjQ3IGtqcy9vYmplY3QuaAotLS0ga2pzL29iamVjdC5oCTE2IE9jdCAyMDA1IDAwOjQ2
OjIyIC0wMDAwCTEuNDcKKysrIGtqcy9vYmplY3QuaAk5IE5vdiAyMDA1IDE2OjQ4OjUxIC0wMDAw
CkBAIC02MDYsNiArNjA2LDE3IEBAIGlubGluZSBib29sIE9iamVjdEltcDo6Z2V0T3duUHJvcGVy
dHlTbG8KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKKy8vIEZJWE1FOiBQdXQgdGhpcyBmdW5jdGlv
biBpbiBhIHNlcGFyYXRlIGZpbGUgbmFtZWQgc29tZXRoaW5nIGxpa2Ugc2NvcGVfY2hhaW5fbWFy
ay5oIC0tIGNhbid0IHB1dCBpdCBpbiBzY29wZV9jaGFpbi5oIHNpbmNlIGl0IGRlcGVuZHMgb24g
T2JqZWN0SW1wLgorCitpbmxpbmUgdm9pZCBTY29wZUNoYWluOjptYXJrKCkKK3sKKyAgICBmb3Ig
KFNjb3BlQ2hhaW5Ob2RlICpuID0gX25vZGU7IG47IG4gPSBuLT5uZXh0KSB7CisgICAgICAgIE9i
amVjdEltcCAqbyA9IG4tPm9iamVjdDsKKyAgICAgICAgaWYgKCFvLT5tYXJrZWQoKSkKKyAgICAg
ICAgICAgIG8tPm1hcmsoKTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlCiAKICNlbmRpZiAv
LyBLSlNfT0JKRUNUX0gKSW5kZXg6IGtqcy9zY29wZV9jaGFpbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg
ZmlsZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9zY29wZV9jaGFpbi5jcHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMTIKZGlmZiAtcCAtdSAtcjEuMTIga2pzL3Njb3BlX2NoYWluLmNw
cAotLS0ga2pzL3Njb3BlX2NoYWluLmNwcAkzIE9jdCAyMDA1IDIxOjExOjUxIC0wMDAwCTEuMTIK
KysrIGtqcy9zY29wZV9jaGFpbi5jcHAJOSBOb3YgMjAwNSAxNjo0ODo1MSAtMDAwMApAQCAtMjIs
MzIgKzIyLDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJzY29wZV9jaGFpbi5o
IgogCi0jaW5jbHVkZSAib2JqZWN0LmgiCi0KIG5hbWVzcGFjZSBLSlMgewogCi1pbmxpbmUgdm9p
ZCBTY29wZUNoYWluOjpyZWYoKSBjb25zdAotewotICAgIGZvciAoU2NvcGVDaGFpbk5vZGUgKm4g
PSBfbm9kZTsgbjsgbiA9IG4tPm5leHQpIHsKLSAgICAgICAgaWYgKG4tPnJlZkNvdW50KysgIT0g
MCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLX0KLQotU2NvcGVDaGFpbiAmU2NvcGVDaGFp
bjo6b3BlcmF0b3I9KGNvbnN0IFNjb3BlQ2hhaW4gJmMpCi17Ci0gICAgYy5yZWYoKTsKLSAgICBk
ZXJlZigpOwotICAgIF9ub2RlID0gYy5fbm9kZTsKLSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KLXZv
aWQgU2NvcGVDaGFpbjo6cHVzaChPYmplY3RJbXAgKm8pCi17Ci0gICAgYXNzZXJ0KG8pOwotICAg
IF9ub2RlID0gbmV3IFNjb3BlQ2hhaW5Ob2RlKF9ub2RlLCBvKTsKLX0KLQogdm9pZCBTY29wZUNo
YWluOjpwdXNoKGNvbnN0IFNjb3BlQ2hhaW4gJmMpCiB7CiAgICAgU2NvcGVDaGFpbk5vZGUgKip0
YWlsID0gJl9ub2RlOwpAQCAtNTgsMjEgKzM0LDYgQEAgdm9pZCBTY29wZUNoYWluOjpwdXNoKGNv
bnN0IFNjb3BlQ2hhaW4gJgogICAgIH0KIH0KIAotdm9pZCBTY29wZUNoYWluOjpwb3AoKQotewot
ICAgIFNjb3BlQ2hhaW5Ob2RlICpvbGROb2RlID0gX25vZGU7Ci0gICAgYXNzZXJ0KG9sZE5vZGUp
OwotICAgIFNjb3BlQ2hhaW5Ob2RlICpuZXdOb2RlID0gb2xkTm9kZS0+bmV4dDsKLSAgICBfbm9k
ZSA9IG5ld05vZGU7Ci0gICAgCi0gICAgaWYgKC0tb2xkTm9kZS0+cmVmQ291bnQgIT0gMCkgewot
ICAgICAgICBpZiAobmV3Tm9kZSkKLSAgICAgICAgICAgICsrbmV3Tm9kZS0+cmVmQ291bnQ7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgZGVsZXRlIG9sZE5vZGU7Ci0gICAgfQotfQotCiB2b2lkIFNj
b3BlQ2hhaW46OnJlbGVhc2UoKQogewogICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxs
ZWQgYnkgZGVyZWYoKSwKQEAgLTg2LDI4ICs0Nyw0IEBAIHZvaWQgU2NvcGVDaGFpbjo6cmVsZWFz
ZSgpCiAgICAgfSB3aGlsZSAobiAmJiAtLW4tPnJlZkNvdW50ID09IDApOwogfQogCi12b2lkIFNj
b3BlQ2hhaW46Om1hcmsoKQotewotICAgIGZvciAoU2NvcGVDaGFpbk5vZGUgKm4gPSBfbm9kZTsg
bjsgbiA9IG4tPm5leHQpIHsKLSAgICAgICAgT2JqZWN0SW1wICpvID0gbi0+b2JqZWN0OwotICAg
ICAgICBpZiAoIW8tPm1hcmtlZCgpKQotICAgICAgICAgICAgby0+bWFyaygpOwotICAgIH0KLX0K
LQotT2JqZWN0SW1wICpTY29wZUNoYWluOjpib3R0b20oKSBjb25zdAotewotICAgIFNjb3BlQ2hh
aW5Ob2RlICpsYXN0ID0gMDsKLSAgICBmb3IgKFNjb3BlQ2hhaW5Ob2RlICpuID0gX25vZGU7IG47
IG4gPSBuLT5uZXh0KSB7Ci0JaWYgKCFuLT5uZXh0KSB7Ci0JICAgIGxhc3QgPSBuOwotCX0KLSAg
ICB9Ci0gICAgaWYgKCFsYXN0KSB7Ci0JcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgcmV0dXJuIGxh
c3QtPm9iamVjdDsKLX0KLQogfSAvLyBuYW1lc3BhY2UgS0pTCkluZGV4OiBranMvc2NvcGVfY2hh
aW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2YVNjcmlwdENvcmUva2pzL3Nj
b3BlX2NoYWluLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTIKZGlmZiAtcCAtdSAtcjEuMTIg
a2pzL3Njb3BlX2NoYWluLmgKLS0tIGtqcy9zY29wZV9jaGFpbi5oCTMgT2N0IDIwMDUgMjE6MTE6
NTEgLTAwMDAJMS4xMgorKysga2pzL3Njb3BlX2NoYWluLmgJOSBOb3YgMjAwNSAxNjo0ODo1MSAt
MDAwMApAQCAtMjIsNiArMjIsOCBAQAogI2lmbmRlZiBLSlNfU0NPUEVfQ0hBSU5fSAogI2RlZmlu
ZSBLSlNfU0NPUEVfQ0hBSU5fSAogCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisKIG5hbWVzcGFjZSBL
SlMgewogCiAgICAgY2xhc3MgT2JqZWN0SW1wOwpAQCAtODcsNiArODksNTMgQEAgbmFtZXNwYWNl
IEtKUyB7CiAgICAgICAgIHZvaWQgcmVsZWFzZSgpOwogICAgIH07CiAKK2lubGluZSB2b2lkIFNj
b3BlQ2hhaW46OnJlZigpIGNvbnN0Cit7CisgICAgZm9yIChTY29wZUNoYWluTm9kZSAqbiA9IF9u
b2RlOyBuOyBuID0gbi0+bmV4dCkgeworICAgICAgICBpZiAobi0+cmVmQ291bnQrKyAhPSAwKQor
ICAgICAgICAgICAgYnJlYWs7CisgICAgfQorfQorCitpbmxpbmUgU2NvcGVDaGFpbiAmU2NvcGVD
aGFpbjo6b3BlcmF0b3I9KGNvbnN0IFNjb3BlQ2hhaW4gJmMpCit7CisgICAgYy5yZWYoKTsKKyAg
ICBkZXJlZigpOworICAgIF9ub2RlID0gYy5fbm9kZTsKKyAgICByZXR1cm4gKnRoaXM7Cit9CisK
K2lubGluZSBPYmplY3RJbXAgKlNjb3BlQ2hhaW46OmJvdHRvbSgpIGNvbnN0Cit7CisgICAgU2Nv
cGVDaGFpbk5vZGUgKmxhc3QgPSAwOworICAgIGZvciAoU2NvcGVDaGFpbk5vZGUgKm4gPSBfbm9k
ZTsgbjsgbiA9IG4tPm5leHQpCisgICAgICAgIGxhc3QgPSBuOworICAgIGlmICghbGFzdCkKKwly
ZXR1cm4gMDsKKyAgICByZXR1cm4gbGFzdC0+b2JqZWN0OworfQorCitpbmxpbmUgdm9pZCBTY29w
ZUNoYWluOjpwdXNoKE9iamVjdEltcCAqbykKK3sKKyAgICBhc3NlcnQobyk7CisgICAgX25vZGUg
PSBuZXcgU2NvcGVDaGFpbk5vZGUoX25vZGUsIG8pOworfQorCitpbmxpbmUgdm9pZCBTY29wZUNo
YWluOjpwb3AoKQoreworICAgIFNjb3BlQ2hhaW5Ob2RlICpvbGROb2RlID0gX25vZGU7CisgICAg
YXNzZXJ0KG9sZE5vZGUpOworICAgIFNjb3BlQ2hhaW5Ob2RlICpuZXdOb2RlID0gb2xkTm9kZS0+
bmV4dDsKKyAgICBfbm9kZSA9IG5ld05vZGU7CisgICAgCisgICAgaWYgKC0tb2xkTm9kZS0+cmVm
Q291bnQgIT0gMCkgeworICAgICAgICBpZiAobmV3Tm9kZSkKKyAgICAgICAgICAgICsrbmV3Tm9k
ZS0+cmVmQ291bnQ7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVsZXRlIG9sZE5vZGU7CisgICAg
fQorfQorCiB9IC8vIG5hbWVzcGFjZSBLSlMKIAogI2VuZGlmIC8vIEtKU19TQ09QRV9DSEFJTl9I
Cg==
</data>
<flag name="review"
          id="842"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>