<?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>16683</bug_id>
          
          <creation_ts>2007-12-31 00:56:03 -0800</creation_ts>
          <short_desc>speed up function calls by making ScopeChain::push cheaper</short_desc>
          <delta_ts>2008-01-02 16:35:02 -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>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>65822</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-12-31 00:56:03 -0800</bug_when>
    <thetext>Function calls push an activation object on the scope chain. We can make this cheaper by cutting down on heap allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65823</commentid>
    <comment_count>1</comment_count>
      <attachid>18211</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-12-31 01:07:03 -0800</bug_when>
    <thetext>Created attachment 18211
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65907</commentid>
    <comment_count>2</comment_count>
      <attachid>18211</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-01-01 10:39:40 -0800</bug_when>
    <thetext>Comment on attachment 18211
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65912</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-01 11:14:00 -0800</bug_when>
    <thetext>Committed revision 29065.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65918</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-01 11:46:00 -0800</bug_when>
    <thetext>This broke the world. Rolling it back out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66003</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-01 23:06:39 -0800</bug_when>
    <thetext>There&apos;s too much overlap between this and the coming Activation optimization. I&apos;m going to drop it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66080</commentid>
    <comment_count>6</comment_count>
      <attachid>18244</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-02 16:34:19 -0800</bug_when>
    <thetext>Created attachment 18244
newer patch, but doesn&apos;t seem to be a speedup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66081</commentid>
    <comment_count>7</comment_count>
      <attachid>18244</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-02 16:35:02 -0800</bug_when>
    <thetext>Comment on attachment 18244
newer patch, but doesn&apos;t seem to be a speedup

Hmm, no, that was just aother copy of the wrong patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18211</attachid>
            <date>2007-12-31 01:07:03 -0800</date>
            <delta_ts>2008-01-02 16:34:19 -0800</delta_ts>
            <desc>patch</desc>
            <filename>ScopeChainPushPatch.txt</filename>
            <type>text/plain</type>
            <size>7753</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5MDQ5KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMDctMTItMzEgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY2ODMKKyAgICAgICAgICBzcGVlZCB1cCBmdW5jdGlvbiBjYWxscyBieSBtYWtpbmcgU2NvcGVD
aGFpbjo6cHVzaCBjaGVhcGVyCisKKyAgICAgICAgVGhpcyBnaXZlcyBhIDEuMDE5eCBzcGVlZHVw
IG9uIFN1blNwaWRlci4KKworICAgICAgICBBZnRlciBkb2luZyB0aGlzLCBJIHJlYWxpemVkIHRo
aXMgcHJvYmFibHkgd2lsbCBiZSBvYnNvbGV0ZSB3aGVuIHRoZSBvcHRpbWl6YXRpb24KKyAgICAg
ICAgdG8gYXZvaWQgY3JlYXRpbmcgYW4gYWN0aXZhdGlvbiBvYmplY3QgaXMgZG9uZS4gV2hlbiB3
ZSBkbyB0aGF0IG9uZSB3ZSBzaG91bGQgY2hlY2sKKyAgICAgICAgaWYgcm9sbGluZyB0aGlzIG91
dCB3aWxsIHNwZWVkIHRoaW5ncyB1cCwgc2luY2UgdGhpcyBkb2VzIGFkZCBvdmVyaGVhZCBhdCB0
aGUgdGltZQorICAgICAgICB5b3UgY29weSB0aGUgc2NvcGUgY2hhaW4uCisKKyAgICAgICAgKiBr
anMvb2JqZWN0Lmg6IFJlbW92ZWQgdGhlIFNjb3BlQ2hhaW46OnJlbGVhc2UgZnVuY3Rpb24uIEl0
IHdhcworICAgICAgICBtYXJrZWQgaW5saW5lLCBhbmQgY2FsbGVkIGluIGV4YWN0bHkgb25lIHBs
YWNlLCBzbyBtb3ZlZCBpdCB0aGVyZS4KKyAgICAgICAgTm8gaWRlYSB3aHkgaXQgd2FzIGluIHRo
aXMgaGVhZGVyIGZpbGUhCisKKyAgICAgICAgKiBranMvc2NvcGVfY2hhaW4uY3BwOiBSZW1vdmVk
IHRoZSBvdmVybG9hZCBvZiB0aGUgU2NvcGVDaGFpbjo6cHVzaAorICAgICAgICBmdW5jdGlvbiB0
aGF0IHRha2VzIGFub3RoZXIgU2NvcGVDaGFpbi4gSXQgd2FzIHVudXNlZC4gSSB0aGluayB3ZSB1
c2VkCisgICAgICAgIGl0IG92ZXIgaW4gV2ViQ29yZSBhdCBvbmUgcG9pbnQsIGJ1dCBub3QgYW55
IG1vcmUuCisKKyAgICAgICAgKiBranMvc2NvcGVfY2hhaW4uaDogQ2hhbmdlZCBTY29wZUNoYWlu
Tm9kZSBpbnRvIGEgc3RydWN0IHJhdGhlciB0aGFuCisgICAgICAgIGEgY2xhc3MsIGdvdCByaWQg
b2YgaXRzIGNvbnN0cnVjdG9yIHNvIHdlIGNhbiBoYXZlIG9uZSB0aGF0J3MgdW5pbml0aWFsaXpl
ZCwKKyAgICAgICAgYW5kIG1vdmVkIHRoZSByZWZDb3VudCBpbnRvIGEgZGVyaXZlZCBzdHJ1Y3Qs
IFNjb3BlQ2hhaW5IZWFwTm9kZS4gTWFkZSBfbm9kZQorICAgICAgICBtdXRhYmxlIHNvIGl0IGNh
biBiZSBjaGFuZ2VkIGluIHRoZSBtb3ZlVG9IZWFwIGZ1bmN0aW9uLiBDaGFuZ2VkIHRoZSBjb3B5
CisgICAgICAgIGNvbnN0cnVjdG9yIGFuZCBhc3NpZ25tZW50IG9wZXJhdG9yIHRvIGNhbGwgbW92
ZVRvSGVhcCwgc2luY2UgdGhlIHRvcCBub2RlCisgICAgICAgIGNhbid0IGJlIHNoYXJlZCB3aGVu
IGl0J3MgZW1iZWRkZWQgaW4gYW5vdGhlciBTY29wZUNoYWluIG9iamVjdC4gVXBkYXRlZAorICAg
ICAgICBmdW5jdGlvbnMgYXMgbmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgZmly
c3Qgb2JqZWN0IGlzbid0IG9uIHRoZQorICAgICAgICBoZWFwIG9yIHRvIGFkZCBjYXN0cyBmb3Ig
Y2FzZXMgd2hlcmUgaXQncyBndWFyYW50ZWVkIHRvIGJlLiBDaGFuZ2VkIHRoZSBwdXNoCisgICAg
ICAgIGZ1bmN0aW9uIHRvIGFsd2F5cyBwdXQgdGhlIG5ldyBub2RlIGludG8gdGhlIFNjb3BlQ2hh
aW4gb2JqZWN0OyBpdCB3aWxsIGdldAorICAgICAgICBwdXQgb250byB0aGUgaGVhcCB3aGVuIG5l
ZWRlZCBsYXRlci4KKwogMjAwNy0xMi0zMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtLgpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL29i
amVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9vYmplY3QuaAkocmV2aXNp
b24gMjkwNDkpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvb2JqZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTU5MiwxOSArNTkyLDYgQEAgaW5saW5lIHZvaWQgU2NvcGVDaGFpbjo6bWFyaygpCiAgICAg
fQogfQogCi1pbmxpbmUgdm9pZCBTY29wZUNoYWluOjpyZWxlYXNlKCkKLXsKLSAgICAvLyBUaGlz
IGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGJ5IGRlcmVmKCksCi0gICAgLy8gRGVyZWYgZW5zdXJl
cyB0aGVzZSBjb25kaXRpb25zIGFyZSB0cnVlLgotICAgIEFTU0VSVChfbm9kZSAmJiBfbm9kZS0+
cmVmQ291bnQgPT0gMCk7Ci0gICAgU2NvcGVDaGFpbk5vZGUgKm4gPSBfbm9kZTsKLSAgICBkbyB7
Ci0gICAgICAgIFNjb3BlQ2hhaW5Ob2RlICpuZXh0ID0gbi0+bmV4dDsKLSAgICAgICAgZGVsZXRl
IG47Ci0gICAgICAgIG4gPSBuZXh0OwotICAgIH0gd2hpbGUgKG4gJiYgLS1uLT5yZWZDb3VudCA9
PSAwKTsKLX0KLQogaW5saW5lIEpTVmFsdWUqIEpTT2JqZWN0Ojp0b1ByaW1pdGl2ZShFeGVjU3Rh
dGUqIGV4ZWMsIEpTVHlwZSBwcmVmZXJyZWRUeXBlKSBjb25zdAogewogICAgIHJldHVybiBkZWZh
dWx0VmFsdWUoZXhlYywgcHJlZmVycmVkVHlwZSk7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMv
c2NvcGVfY2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9zY29wZV9j
aGFpbi5jcHAJKHJldmlzaW9uIDI5MDQ5KQorKysgSmF2YVNjcmlwdENvcmUva2pzL3Njb3BlX2No
YWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTYgKzI3LDYgQEAKIAogbmFtZXNwYWNlIEtK
UyB7CiAKLXZvaWQgU2NvcGVDaGFpbjo6cHVzaChjb25zdCBTY29wZUNoYWluICZjKQotewotICAg
IFNjb3BlQ2hhaW5Ob2RlICoqdGFpbCA9ICZfbm9kZTsKLSAgICBmb3IgKFNjb3BlQ2hhaW5Ob2Rl
ICpuID0gYy5fbm9kZTsgbjsgbiA9IG4tPm5leHQpIHsKLSAgICAgICAgU2NvcGVDaGFpbk5vZGUg
Km5ld05vZGUgPSBuZXcgU2NvcGVDaGFpbk5vZGUoKnRhaWwsIG4tPm9iamVjdCk7Ci0gICAgICAg
ICp0YWlsID0gbmV3Tm9kZTsKLSAgICAgICAgdGFpbCA9ICZuZXdOb2RlLT5uZXh0OwotICAgIH0K
LX0KLQogI2lmbmRlZiBOREVCVUcKIAogdm9pZCBTY29wZUNoYWluOjpwcmludCgpCkluZGV4OiBK
YXZhU2NyaXB0Q29yZS9ranMvc2NvcGVfY2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9ranMvc2NvcGVfY2hhaW4uaAkocmV2aXNpb24gMjkwNDkpCisrKyBKYXZhU2NyaXB0Q29y
ZS9ranMvc2NvcGVfY2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTUgKzI3LDE0IEBACiBu
YW1lc3BhY2UgS0pTIHsKIAogICAgIGNsYXNzIEpTT2JqZWN0OwotICAgIGNsYXNzIEV4ZWNTdGF0
ZTsKKyAgICBzdHJ1Y3QgU2NvcGVDaGFpbkhlYXBOb2RlOwogICAgIAotICAgIGNsYXNzIFNjb3Bl
Q2hhaW5Ob2RlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFNjb3BlQ2hhaW5Ob2RlKFNjb3BlQ2hh
aW5Ob2RlICpuLCBKU09iamVjdCAqbykKLSAgICAgICAgICAgIDogbmV4dChuKSwgb2JqZWN0KG8p
LCByZWZDb3VudCgxKSB7IH0KKyAgICBzdHJ1Y3QgU2NvcGVDaGFpbk5vZGUgeworICAgICAgICBK
U09iamVjdCogb2JqZWN0OworICAgICAgICBTY29wZUNoYWluSGVhcE5vZGUqIG5leHQ7CisgICAg
fTsKIAotICAgICAgICBTY29wZUNoYWluTm9kZSAqbmV4dDsKLSAgICAgICAgSlNPYmplY3QgKm9i
amVjdDsKKyAgICBzdHJ1Y3QgU2NvcGVDaGFpbkhlYXBOb2RlIDogU2NvcGVDaGFpbk5vZGUgewog
ICAgICAgICBpbnQgcmVmQ291bnQ7CiAgICAgfTsKIApAQCAtNjUsOCArNjQsNyBAQCBuYW1lc3Bh
Y2UgS0pTIHsKICAgICAgICAgU2NvcGVDaGFpbigpIDogX25vZGUoMCkgeyB9CiAgICAgICAgIH5T
Y29wZUNoYWluKCkgeyBkZXJlZigpOyB9CiAKLSAgICAgICAgU2NvcGVDaGFpbihjb25zdCBTY29w
ZUNoYWluICZjKSA6IF9ub2RlKGMuX25vZGUpCi0gICAgICAgICAgICB7IGlmIChfbm9kZSkgKytf
bm9kZS0+cmVmQ291bnQ7IH0KKyAgICAgICAgU2NvcGVDaGFpbihjb25zdCBTY29wZUNoYWluJik7
CiAgICAgICAgIFNjb3BlQ2hhaW4gJm9wZXJhdG9yPShjb25zdCBTY29wZUNoYWluICYpOwogCiAg
ICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFfbm9kZTsgfQpAQCAtNzksNyAr
NzcsNiBAQCBuYW1lc3BhY2UgS0pTIHsKIAogICAgICAgICB2b2lkIGNsZWFyKCkgeyBkZXJlZigp
OyBfbm9kZSA9IDA7IH0KICAgICAgICAgdm9pZCBwdXNoKEpTT2JqZWN0ICopOwotICAgICAgICB2
b2lkIHB1c2goY29uc3QgU2NvcGVDaGFpbiAmKTsKICAgICAgICAgdm9pZCBwb3AoKTsKICAgICAg
ICAgCiAgICAgICAgIHZvaWQgbWFyaygpOwpAQCAtODksMjcgKzg2LDY1IEBAIG5hbWVzcGFjZSBL
SlMgewogI2VuZGlmCiAgICAgICAgIAogICAgIHByaXZhdGU6Ci0gICAgICAgIFNjb3BlQ2hhaW5O
b2RlICpfbm9kZTsKLSAgICAgICAgCi0gICAgICAgIHZvaWQgZGVyZWYoKSB7IGlmIChfbm9kZSAm
JiAtLV9ub2RlLT5yZWZDb3VudCA9PSAwKSByZWxlYXNlKCk7IH0KKyAgICAgICAgbXV0YWJsZSBT
Y29wZUNoYWluTm9kZSogX25vZGU7CisgICAgICAgIFNjb3BlQ2hhaW5Ob2RlIG1faW5pdGlhbFRv
cE5vZGU7CisKKyAgICAgICAgU2NvcGVDaGFpbkhlYXBOb2RlKiBtb3ZlVG9IZWFwKCkgY29uc3Q7
CisKKyAgICAgICAgdm9pZCBkZXJlZigpOwogICAgICAgICB2b2lkIHJlZigpIGNvbnN0OwotICAg
ICAgICAKLSAgICAgICAgdm9pZCByZWxlYXNlKCk7CiAgICAgfTsKIAoraW5saW5lIFNjb3BlQ2hh
aW5IZWFwTm9kZSogU2NvcGVDaGFpbjo6bW92ZVRvSGVhcCgpIGNvbnN0Cit7CisgICAgaWYgKF9u
b2RlICE9ICZtX2luaXRpYWxUb3BOb2RlKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2Nv
cGVDaGFpbkhlYXBOb2RlKj4oX25vZGUpOworICAgIFNjb3BlQ2hhaW5IZWFwTm9kZSogaGVhcE5v
ZGUgPSBuZXcgU2NvcGVDaGFpbkhlYXBOb2RlOworICAgIGhlYXBOb2RlLT5vYmplY3QgPSBtX2lu
aXRpYWxUb3BOb2RlLm9iamVjdDsKKyAgICBoZWFwTm9kZS0+bmV4dCA9IG1faW5pdGlhbFRvcE5v
ZGUubmV4dDsKKyAgICBoZWFwTm9kZS0+cmVmQ291bnQgPSAxOworICAgIF9ub2RlID0gaGVhcE5v
ZGU7CisgICAgcmV0dXJuIGhlYXBOb2RlOworfQorCitpbmxpbmUgU2NvcGVDaGFpbjo6U2NvcGVD
aGFpbihjb25zdCBTY29wZUNoYWluJiBvdGhlckNoYWluKQoreworICAgIGlmICghb3RoZXJDaGFp
bi5fbm9kZSkKKyAgICAgICAgX25vZGUgPSAwOworICAgIGVsc2UgeworICAgICAgICBTY29wZUNo
YWluSGVhcE5vZGUqIHRvcCA9IG90aGVyQ2hhaW4ubW92ZVRvSGVhcCgpOworICAgICAgICArK3Rv
cC0+cmVmQ291bnQ7CisgICAgICAgIF9ub2RlID0gdG9wOworICAgIH0KK30KKwogaW5saW5lIHZv
aWQgU2NvcGVDaGFpbjo6cmVmKCkgY29uc3QKIHsKLSAgICBmb3IgKFNjb3BlQ2hhaW5Ob2RlICpu
ID0gX25vZGU7IG47IG4gPSBuLT5uZXh0KSB7Ci0gICAgICAgIGlmIChuLT5yZWZDb3VudCsrICE9
IDApCisgICAgQVNTRVJUKF9ub2RlICE9ICZtX2luaXRpYWxUb3BOb2RlKTsKKyAgICBmb3IgKFNj
b3BlQ2hhaW5IZWFwTm9kZSogbiA9IHN0YXRpY19jYXN0PFNjb3BlQ2hhaW5IZWFwTm9kZSo+KF9u
b2RlKTsgbjsgbiA9IG4tPm5leHQpIHsKKyAgICAgICAgaWYgKG4tPnJlZkNvdW50KyspCiAgICAg
ICAgICAgICBicmVhazsKICAgICB9CiB9CiAKLWlubGluZSBTY29wZUNoYWluICZTY29wZUNoYWlu
OjpvcGVyYXRvcj0oY29uc3QgU2NvcGVDaGFpbiAmYykKK2lubGluZSB2b2lkIFNjb3BlQ2hhaW46
OmRlcmVmKCkKIHsKLSAgICBjLnJlZigpOworICAgIFNjb3BlQ2hhaW5IZWFwTm9kZSogbm9kZSA9
IHN0YXRpY19jYXN0PFNjb3BlQ2hhaW5IZWFwTm9kZSo+KF9ub2RlKTsKKyAgICBpZiAobm9kZSA9
PSAmbV9pbml0aWFsVG9wTm9kZSkKKyAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7CisgICAgU2Nv
cGVDaGFpbkhlYXBOb2RlKiBuZXh0OworICAgIGZvciAoOyBub2RlICYmIC0tbm9kZS0+cmVmQ291
bnQgPT0gMDsgbm9kZSA9IG5leHQpIHsKKyAgICAgICAgbmV4dCA9IG5vZGUtPm5leHQ7CisgICAg
ICAgIGRlbGV0ZSBub2RlOworICAgIH0KK30KKworaW5saW5lIFNjb3BlQ2hhaW4gJlNjb3BlQ2hh
aW46Om9wZXJhdG9yPShjb25zdCBTY29wZUNoYWluJiBvdGhlckNoYWluKQoreworICAgIG90aGVy
Q2hhaW4ubW92ZVRvSGVhcCgpOworICAgIG90aGVyQ2hhaW4ucmVmKCk7CiAgICAgZGVyZWYoKTsK
LSAgICBfbm9kZSA9IGMuX25vZGU7CisgICAgX25vZGUgPSBvdGhlckNoYWluLl9ub2RlOwogICAg
IHJldHVybiAqdGhpczsKIH0KIApAQCAtMTIzLDI0ICsxNTgsMzAgQEAgaW5saW5lIEpTT2JqZWN0
ICpTY29wZUNoYWluOjpib3R0b20oKSBjbwogICAgIHJldHVybiBsYXN0LT5vYmplY3Q7CiB9CiAK
LWlubGluZSB2b2lkIFNjb3BlQ2hhaW46OnB1c2goSlNPYmplY3QgKm8pCitpbmxpbmUgdm9pZCBT
Y29wZUNoYWluOjpwdXNoKEpTT2JqZWN0KiBvKQogewogICAgIEFTU0VSVChvKTsKLSAgICBfbm9k
ZSA9IG5ldyBTY29wZUNoYWluTm9kZShfbm9kZSwgbyk7CisgICAgU2NvcGVDaGFpbkhlYXBOb2Rl
KiBoZWFwTm9kZSA9IG1vdmVUb0hlYXAoKTsKKyAgICBtX2luaXRpYWxUb3BOb2RlLm9iamVjdCA9
IG87CisgICAgbV9pbml0aWFsVG9wTm9kZS5uZXh0ID0gaGVhcE5vZGU7CisgICAgX25vZGUgPSAm
bV9pbml0aWFsVG9wTm9kZTsKIH0KIAogaW5saW5lIHZvaWQgU2NvcGVDaGFpbjo6cG9wKCkKIHsK
ICAgICBTY29wZUNoYWluTm9kZSAqb2xkTm9kZSA9IF9ub2RlOwogICAgIEFTU0VSVChvbGROb2Rl
KTsKLSAgICBTY29wZUNoYWluTm9kZSAqbmV3Tm9kZSA9IG9sZE5vZGUtPm5leHQ7CisgICAgU2Nv
cGVDaGFpbkhlYXBOb2RlICpuZXdOb2RlID0gb2xkTm9kZS0+bmV4dDsKICAgICBfbm9kZSA9IG5l
d05vZGU7Ci0gICAgCi0gICAgaWYgKC0tb2xkTm9kZS0+cmVmQ291bnQgIT0gMCkgewotICAgICAg
ICBpZiAobmV3Tm9kZSkKLSAgICAgICAgICAgICsrbmV3Tm9kZS0+cmVmQ291bnQ7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgZGVsZXRlIG9sZE5vZGU7CisKKyAgICBpZiAob2xkTm9kZSAhPSAmbV9p
bml0aWFsVG9wTm9kZSkgeworICAgICAgICBTY29wZUNoYWluSGVhcE5vZGUqIG9sZEhlYXBOb2Rl
ID0gc3RhdGljX2Nhc3Q8U2NvcGVDaGFpbkhlYXBOb2RlKj4ob2xkTm9kZSk7CisgICAgICAgIGlm
ICgtLW9sZEhlYXBOb2RlLT5yZWZDb3VudCAhPSAwKSB7CisgICAgICAgICAgICBpZiAobmV3Tm9k
ZSkKKyAgICAgICAgICAgICAgICArK25ld05vZGUtPnJlZkNvdW50OworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgZGVsZXRlIG9sZEhlYXBOb2RlOworICAgICAgICB9CiAgICAgfQogfQog
Cg==
</data>
<flag name="review"
          id="7921"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18244</attachid>
            <date>2008-01-02 16:34:19 -0800</date>
            <delta_ts>2008-01-02 16:35:02 -0800</delta_ts>
            <desc>newer patch, but doesn&apos;t seem to be a speedup</desc>
            <filename>ScopeChainPushPatch.txt</filename>
            <type>text/plain</type>
            <size>7753</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5MDQ5KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMDctMTItMzEgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTY2ODMKKyAgICAgICAgICBzcGVlZCB1cCBmdW5jdGlvbiBjYWxscyBieSBtYWtpbmcgU2NvcGVD
aGFpbjo6cHVzaCBjaGVhcGVyCisKKyAgICAgICAgVGhpcyBnaXZlcyBhIDEuMDE5eCBzcGVlZHVw
IG9uIFN1blNwaWRlci4KKworICAgICAgICBBZnRlciBkb2luZyB0aGlzLCBJIHJlYWxpemVkIHRo
aXMgcHJvYmFibHkgd2lsbCBiZSBvYnNvbGV0ZSB3aGVuIHRoZSBvcHRpbWl6YXRpb24KKyAgICAg
ICAgdG8gYXZvaWQgY3JlYXRpbmcgYW4gYWN0aXZhdGlvbiBvYmplY3QgaXMgZG9uZS4gV2hlbiB3
ZSBkbyB0aGF0IG9uZSB3ZSBzaG91bGQgY2hlY2sKKyAgICAgICAgaWYgcm9sbGluZyB0aGlzIG91
dCB3aWxsIHNwZWVkIHRoaW5ncyB1cCwgc2luY2UgdGhpcyBkb2VzIGFkZCBvdmVyaGVhZCBhdCB0
aGUgdGltZQorICAgICAgICB5b3UgY29weSB0aGUgc2NvcGUgY2hhaW4uCisKKyAgICAgICAgKiBr
anMvb2JqZWN0Lmg6IFJlbW92ZWQgdGhlIFNjb3BlQ2hhaW46OnJlbGVhc2UgZnVuY3Rpb24uIEl0
IHdhcworICAgICAgICBtYXJrZWQgaW5saW5lLCBhbmQgY2FsbGVkIGluIGV4YWN0bHkgb25lIHBs
YWNlLCBzbyBtb3ZlZCBpdCB0aGVyZS4KKyAgICAgICAgTm8gaWRlYSB3aHkgaXQgd2FzIGluIHRo
aXMgaGVhZGVyIGZpbGUhCisKKyAgICAgICAgKiBranMvc2NvcGVfY2hhaW4uY3BwOiBSZW1vdmVk
IHRoZSBvdmVybG9hZCBvZiB0aGUgU2NvcGVDaGFpbjo6cHVzaAorICAgICAgICBmdW5jdGlvbiB0
aGF0IHRha2VzIGFub3RoZXIgU2NvcGVDaGFpbi4gSXQgd2FzIHVudXNlZC4gSSB0aGluayB3ZSB1
c2VkCisgICAgICAgIGl0IG92ZXIgaW4gV2ViQ29yZSBhdCBvbmUgcG9pbnQsIGJ1dCBub3QgYW55
IG1vcmUuCisKKyAgICAgICAgKiBranMvc2NvcGVfY2hhaW4uaDogQ2hhbmdlZCBTY29wZUNoYWlu
Tm9kZSBpbnRvIGEgc3RydWN0IHJhdGhlciB0aGFuCisgICAgICAgIGEgY2xhc3MsIGdvdCByaWQg
b2YgaXRzIGNvbnN0cnVjdG9yIHNvIHdlIGNhbiBoYXZlIG9uZSB0aGF0J3MgdW5pbml0aWFsaXpl
ZCwKKyAgICAgICAgYW5kIG1vdmVkIHRoZSByZWZDb3VudCBpbnRvIGEgZGVyaXZlZCBzdHJ1Y3Qs
IFNjb3BlQ2hhaW5IZWFwTm9kZS4gTWFkZSBfbm9kZQorICAgICAgICBtdXRhYmxlIHNvIGl0IGNh
biBiZSBjaGFuZ2VkIGluIHRoZSBtb3ZlVG9IZWFwIGZ1bmN0aW9uLiBDaGFuZ2VkIHRoZSBjb3B5
CisgICAgICAgIGNvbnN0cnVjdG9yIGFuZCBhc3NpZ25tZW50IG9wZXJhdG9yIHRvIGNhbGwgbW92
ZVRvSGVhcCwgc2luY2UgdGhlIHRvcCBub2RlCisgICAgICAgIGNhbid0IGJlIHNoYXJlZCB3aGVu
IGl0J3MgZW1iZWRkZWQgaW4gYW5vdGhlciBTY29wZUNoYWluIG9iamVjdC4gVXBkYXRlZAorICAg
ICAgICBmdW5jdGlvbnMgYXMgbmVlZGVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgZmly
c3Qgb2JqZWN0IGlzbid0IG9uIHRoZQorICAgICAgICBoZWFwIG9yIHRvIGFkZCBjYXN0cyBmb3Ig
Y2FzZXMgd2hlcmUgaXQncyBndWFyYW50ZWVkIHRvIGJlLiBDaGFuZ2VkIHRoZSBwdXNoCisgICAg
ICAgIGZ1bmN0aW9uIHRvIGFsd2F5cyBwdXQgdGhlIG5ldyBub2RlIGludG8gdGhlIFNjb3BlQ2hh
aW4gb2JqZWN0OyBpdCB3aWxsIGdldAorICAgICAgICBwdXQgb250byB0aGUgaGVhcCB3aGVuIG5l
ZWRlZCBsYXRlci4KKwogMjAwNy0xMi0zMCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtLgpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL29i
amVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9vYmplY3QuaAkocmV2aXNp
b24gMjkwNDkpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvb2JqZWN0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTU5MiwxOSArNTkyLDYgQEAgaW5saW5lIHZvaWQgU2NvcGVDaGFpbjo6bWFyaygpCiAgICAg
fQogfQogCi1pbmxpbmUgdm9pZCBTY29wZUNoYWluOjpyZWxlYXNlKCkKLXsKLSAgICAvLyBUaGlz
IGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkIGJ5IGRlcmVmKCksCi0gICAgLy8gRGVyZWYgZW5zdXJl
cyB0aGVzZSBjb25kaXRpb25zIGFyZSB0cnVlLgotICAgIEFTU0VSVChfbm9kZSAmJiBfbm9kZS0+
cmVmQ291bnQgPT0gMCk7Ci0gICAgU2NvcGVDaGFpbk5vZGUgKm4gPSBfbm9kZTsKLSAgICBkbyB7
Ci0gICAgICAgIFNjb3BlQ2hhaW5Ob2RlICpuZXh0ID0gbi0+bmV4dDsKLSAgICAgICAgZGVsZXRl
IG47Ci0gICAgICAgIG4gPSBuZXh0OwotICAgIH0gd2hpbGUgKG4gJiYgLS1uLT5yZWZDb3VudCA9
PSAwKTsKLX0KLQogaW5saW5lIEpTVmFsdWUqIEpTT2JqZWN0Ojp0b1ByaW1pdGl2ZShFeGVjU3Rh
dGUqIGV4ZWMsIEpTVHlwZSBwcmVmZXJyZWRUeXBlKSBjb25zdAogewogICAgIHJldHVybiBkZWZh
dWx0VmFsdWUoZXhlYywgcHJlZmVycmVkVHlwZSk7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMv
c2NvcGVfY2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9zY29wZV9j
aGFpbi5jcHAJKHJldmlzaW9uIDI5MDQ5KQorKysgSmF2YVNjcmlwdENvcmUva2pzL3Njb3BlX2No
YWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTYgKzI3LDYgQEAKIAogbmFtZXNwYWNlIEtK
UyB7CiAKLXZvaWQgU2NvcGVDaGFpbjo6cHVzaChjb25zdCBTY29wZUNoYWluICZjKQotewotICAg
IFNjb3BlQ2hhaW5Ob2RlICoqdGFpbCA9ICZfbm9kZTsKLSAgICBmb3IgKFNjb3BlQ2hhaW5Ob2Rl
ICpuID0gYy5fbm9kZTsgbjsgbiA9IG4tPm5leHQpIHsKLSAgICAgICAgU2NvcGVDaGFpbk5vZGUg
Km5ld05vZGUgPSBuZXcgU2NvcGVDaGFpbk5vZGUoKnRhaWwsIG4tPm9iamVjdCk7Ci0gICAgICAg
ICp0YWlsID0gbmV3Tm9kZTsKLSAgICAgICAgdGFpbCA9ICZuZXdOb2RlLT5uZXh0OwotICAgIH0K
LX0KLQogI2lmbmRlZiBOREVCVUcKIAogdm9pZCBTY29wZUNoYWluOjpwcmludCgpCkluZGV4OiBK
YXZhU2NyaXB0Q29yZS9ranMvc2NvcGVfY2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9ranMvc2NvcGVfY2hhaW4uaAkocmV2aXNpb24gMjkwNDkpCisrKyBKYXZhU2NyaXB0Q29y
ZS9ranMvc2NvcGVfY2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTUgKzI3LDE0IEBACiBu
YW1lc3BhY2UgS0pTIHsKIAogICAgIGNsYXNzIEpTT2JqZWN0OwotICAgIGNsYXNzIEV4ZWNTdGF0
ZTsKKyAgICBzdHJ1Y3QgU2NvcGVDaGFpbkhlYXBOb2RlOwogICAgIAotICAgIGNsYXNzIFNjb3Bl
Q2hhaW5Ob2RlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFNjb3BlQ2hhaW5Ob2RlKFNjb3BlQ2hh
aW5Ob2RlICpuLCBKU09iamVjdCAqbykKLSAgICAgICAgICAgIDogbmV4dChuKSwgb2JqZWN0KG8p
LCByZWZDb3VudCgxKSB7IH0KKyAgICBzdHJ1Y3QgU2NvcGVDaGFpbk5vZGUgeworICAgICAgICBK
U09iamVjdCogb2JqZWN0OworICAgICAgICBTY29wZUNoYWluSGVhcE5vZGUqIG5leHQ7CisgICAg
fTsKIAotICAgICAgICBTY29wZUNoYWluTm9kZSAqbmV4dDsKLSAgICAgICAgSlNPYmplY3QgKm9i
amVjdDsKKyAgICBzdHJ1Y3QgU2NvcGVDaGFpbkhlYXBOb2RlIDogU2NvcGVDaGFpbk5vZGUgewog
ICAgICAgICBpbnQgcmVmQ291bnQ7CiAgICAgfTsKIApAQCAtNjUsOCArNjQsNyBAQCBuYW1lc3Bh
Y2UgS0pTIHsKICAgICAgICAgU2NvcGVDaGFpbigpIDogX25vZGUoMCkgeyB9CiAgICAgICAgIH5T
Y29wZUNoYWluKCkgeyBkZXJlZigpOyB9CiAKLSAgICAgICAgU2NvcGVDaGFpbihjb25zdCBTY29w
ZUNoYWluICZjKSA6IF9ub2RlKGMuX25vZGUpCi0gICAgICAgICAgICB7IGlmIChfbm9kZSkgKytf
bm9kZS0+cmVmQ291bnQ7IH0KKyAgICAgICAgU2NvcGVDaGFpbihjb25zdCBTY29wZUNoYWluJik7
CiAgICAgICAgIFNjb3BlQ2hhaW4gJm9wZXJhdG9yPShjb25zdCBTY29wZUNoYWluICYpOwogCiAg
ICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFfbm9kZTsgfQpAQCAtNzksNyAr
NzcsNiBAQCBuYW1lc3BhY2UgS0pTIHsKIAogICAgICAgICB2b2lkIGNsZWFyKCkgeyBkZXJlZigp
OyBfbm9kZSA9IDA7IH0KICAgICAgICAgdm9pZCBwdXNoKEpTT2JqZWN0ICopOwotICAgICAgICB2
b2lkIHB1c2goY29uc3QgU2NvcGVDaGFpbiAmKTsKICAgICAgICAgdm9pZCBwb3AoKTsKICAgICAg
ICAgCiAgICAgICAgIHZvaWQgbWFyaygpOwpAQCAtODksMjcgKzg2LDY1IEBAIG5hbWVzcGFjZSBL
SlMgewogI2VuZGlmCiAgICAgICAgIAogICAgIHByaXZhdGU6Ci0gICAgICAgIFNjb3BlQ2hhaW5O
b2RlICpfbm9kZTsKLSAgICAgICAgCi0gICAgICAgIHZvaWQgZGVyZWYoKSB7IGlmIChfbm9kZSAm
JiAtLV9ub2RlLT5yZWZDb3VudCA9PSAwKSByZWxlYXNlKCk7IH0KKyAgICAgICAgbXV0YWJsZSBT
Y29wZUNoYWluTm9kZSogX25vZGU7CisgICAgICAgIFNjb3BlQ2hhaW5Ob2RlIG1faW5pdGlhbFRv
cE5vZGU7CisKKyAgICAgICAgU2NvcGVDaGFpbkhlYXBOb2RlKiBtb3ZlVG9IZWFwKCkgY29uc3Q7
CisKKyAgICAgICAgdm9pZCBkZXJlZigpOwogICAgICAgICB2b2lkIHJlZigpIGNvbnN0OwotICAg
ICAgICAKLSAgICAgICAgdm9pZCByZWxlYXNlKCk7CiAgICAgfTsKIAoraW5saW5lIFNjb3BlQ2hh
aW5IZWFwTm9kZSogU2NvcGVDaGFpbjo6bW92ZVRvSGVhcCgpIGNvbnN0Cit7CisgICAgaWYgKF9u
b2RlICE9ICZtX2luaXRpYWxUb3BOb2RlKQorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U2Nv
cGVDaGFpbkhlYXBOb2RlKj4oX25vZGUpOworICAgIFNjb3BlQ2hhaW5IZWFwTm9kZSogaGVhcE5v
ZGUgPSBuZXcgU2NvcGVDaGFpbkhlYXBOb2RlOworICAgIGhlYXBOb2RlLT5vYmplY3QgPSBtX2lu
aXRpYWxUb3BOb2RlLm9iamVjdDsKKyAgICBoZWFwTm9kZS0+bmV4dCA9IG1faW5pdGlhbFRvcE5v
ZGUubmV4dDsKKyAgICBoZWFwTm9kZS0+cmVmQ291bnQgPSAxOworICAgIF9ub2RlID0gaGVhcE5v
ZGU7CisgICAgcmV0dXJuIGhlYXBOb2RlOworfQorCitpbmxpbmUgU2NvcGVDaGFpbjo6U2NvcGVD
aGFpbihjb25zdCBTY29wZUNoYWluJiBvdGhlckNoYWluKQoreworICAgIGlmICghb3RoZXJDaGFp
bi5fbm9kZSkKKyAgICAgICAgX25vZGUgPSAwOworICAgIGVsc2UgeworICAgICAgICBTY29wZUNo
YWluSGVhcE5vZGUqIHRvcCA9IG90aGVyQ2hhaW4ubW92ZVRvSGVhcCgpOworICAgICAgICArK3Rv
cC0+cmVmQ291bnQ7CisgICAgICAgIF9ub2RlID0gdG9wOworICAgIH0KK30KKwogaW5saW5lIHZv
aWQgU2NvcGVDaGFpbjo6cmVmKCkgY29uc3QKIHsKLSAgICBmb3IgKFNjb3BlQ2hhaW5Ob2RlICpu
ID0gX25vZGU7IG47IG4gPSBuLT5uZXh0KSB7Ci0gICAgICAgIGlmIChuLT5yZWZDb3VudCsrICE9
IDApCisgICAgQVNTRVJUKF9ub2RlICE9ICZtX2luaXRpYWxUb3BOb2RlKTsKKyAgICBmb3IgKFNj
b3BlQ2hhaW5IZWFwTm9kZSogbiA9IHN0YXRpY19jYXN0PFNjb3BlQ2hhaW5IZWFwTm9kZSo+KF9u
b2RlKTsgbjsgbiA9IG4tPm5leHQpIHsKKyAgICAgICAgaWYgKG4tPnJlZkNvdW50KyspCiAgICAg
ICAgICAgICBicmVhazsKICAgICB9CiB9CiAKLWlubGluZSBTY29wZUNoYWluICZTY29wZUNoYWlu
OjpvcGVyYXRvcj0oY29uc3QgU2NvcGVDaGFpbiAmYykKK2lubGluZSB2b2lkIFNjb3BlQ2hhaW46
OmRlcmVmKCkKIHsKLSAgICBjLnJlZigpOworICAgIFNjb3BlQ2hhaW5IZWFwTm9kZSogbm9kZSA9
IHN0YXRpY19jYXN0PFNjb3BlQ2hhaW5IZWFwTm9kZSo+KF9ub2RlKTsKKyAgICBpZiAobm9kZSA9
PSAmbV9pbml0aWFsVG9wTm9kZSkKKyAgICAgICAgbm9kZSA9IG5vZGUtPm5leHQ7CisgICAgU2Nv
cGVDaGFpbkhlYXBOb2RlKiBuZXh0OworICAgIGZvciAoOyBub2RlICYmIC0tbm9kZS0+cmVmQ291
bnQgPT0gMDsgbm9kZSA9IG5leHQpIHsKKyAgICAgICAgbmV4dCA9IG5vZGUtPm5leHQ7CisgICAg
ICAgIGRlbGV0ZSBub2RlOworICAgIH0KK30KKworaW5saW5lIFNjb3BlQ2hhaW4gJlNjb3BlQ2hh
aW46Om9wZXJhdG9yPShjb25zdCBTY29wZUNoYWluJiBvdGhlckNoYWluKQoreworICAgIG90aGVy
Q2hhaW4ubW92ZVRvSGVhcCgpOworICAgIG90aGVyQ2hhaW4ucmVmKCk7CiAgICAgZGVyZWYoKTsK
LSAgICBfbm9kZSA9IGMuX25vZGU7CisgICAgX25vZGUgPSBvdGhlckNoYWluLl9ub2RlOwogICAg
IHJldHVybiAqdGhpczsKIH0KIApAQCAtMTIzLDI0ICsxNTgsMzAgQEAgaW5saW5lIEpTT2JqZWN0
ICpTY29wZUNoYWluOjpib3R0b20oKSBjbwogICAgIHJldHVybiBsYXN0LT5vYmplY3Q7CiB9CiAK
LWlubGluZSB2b2lkIFNjb3BlQ2hhaW46OnB1c2goSlNPYmplY3QgKm8pCitpbmxpbmUgdm9pZCBT
Y29wZUNoYWluOjpwdXNoKEpTT2JqZWN0KiBvKQogewogICAgIEFTU0VSVChvKTsKLSAgICBfbm9k
ZSA9IG5ldyBTY29wZUNoYWluTm9kZShfbm9kZSwgbyk7CisgICAgU2NvcGVDaGFpbkhlYXBOb2Rl
KiBoZWFwTm9kZSA9IG1vdmVUb0hlYXAoKTsKKyAgICBtX2luaXRpYWxUb3BOb2RlLm9iamVjdCA9
IG87CisgICAgbV9pbml0aWFsVG9wTm9kZS5uZXh0ID0gaGVhcE5vZGU7CisgICAgX25vZGUgPSAm
bV9pbml0aWFsVG9wTm9kZTsKIH0KIAogaW5saW5lIHZvaWQgU2NvcGVDaGFpbjo6cG9wKCkKIHsK
ICAgICBTY29wZUNoYWluTm9kZSAqb2xkTm9kZSA9IF9ub2RlOwogICAgIEFTU0VSVChvbGROb2Rl
KTsKLSAgICBTY29wZUNoYWluTm9kZSAqbmV3Tm9kZSA9IG9sZE5vZGUtPm5leHQ7CisgICAgU2Nv
cGVDaGFpbkhlYXBOb2RlICpuZXdOb2RlID0gb2xkTm9kZS0+bmV4dDsKICAgICBfbm9kZSA9IG5l
d05vZGU7Ci0gICAgCi0gICAgaWYgKC0tb2xkTm9kZS0+cmVmQ291bnQgIT0gMCkgewotICAgICAg
ICBpZiAobmV3Tm9kZSkKLSAgICAgICAgICAgICsrbmV3Tm9kZS0+cmVmQ291bnQ7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgZGVsZXRlIG9sZE5vZGU7CisKKyAgICBpZiAob2xkTm9kZSAhPSAmbV9p
bml0aWFsVG9wTm9kZSkgeworICAgICAgICBTY29wZUNoYWluSGVhcE5vZGUqIG9sZEhlYXBOb2Rl
ID0gc3RhdGljX2Nhc3Q8U2NvcGVDaGFpbkhlYXBOb2RlKj4ob2xkTm9kZSk7CisgICAgICAgIGlm
ICgtLW9sZEhlYXBOb2RlLT5yZWZDb3VudCAhPSAwKSB7CisgICAgICAgICAgICBpZiAobmV3Tm9k
ZSkKKyAgICAgICAgICAgICAgICArK25ld05vZGUtPnJlZkNvdW50OworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgZGVsZXRlIG9sZEhlYXBOb2RlOworICAgICAgICB9CiAgICAgfQogfQog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>