<?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>22752</bug_id>
          
          <creation_ts>2008-12-08 22:00:23 -0800</creation_ts>
          <short_desc>Clear SymbolTable after codegen for Function codeblocks that don&apos;t require an activation</short_desc>
          <delta_ts>2008-12-09 16:42:08 -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.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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>101932</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-12-08 22:00:23 -0800</bug_when>
    <thetext>Only codeblocks for functions that need an activation, which we can determine statically, need to keep their SymbolTable around after codegen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101933</commentid>
    <comment_count>1</comment_count>
      <attachid>25873</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-12-08 22:03:59 -0800</bug_when>
    <thetext>Created attachment 25873
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101934</commentid>
    <comment_count>2</comment_count>
      <attachid>25873</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-08 22:05:51 -0800</bug_when>
    <thetext>Comment on attachment 25873
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101936</commentid>
    <comment_count>3</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-12-08 22:19:37 -0800</bug_when>
    <thetext>Oliver just pointed out that this will cause problems for the debugger -- you should check needsFullScopeChain on the CodeBlock instead, since that also includes the case of debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101945</commentid>
    <comment_count>4</comment_count>
      <attachid>25873</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-12-08 23:25:30 -0800</bug_when>
    <thetext>Comment on attachment 25873
patch

removing r+ flag due to regression Sam found -- f.arguments.argumentName fails :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102036</commentid>
    <comment_count>5</comment_count>
      <attachid>25903</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-12-09 16:39:22 -0800</bug_when>
    <thetext>Created attachment 25903
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102037</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-12-09 16:42:08 -0800</bug_when>
    <thetext>Fixed in r39157.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25873</attachid>
            <date>2008-12-08 22:03:59 -0800</date>
            <delta_ts>2008-12-09 16:39:22 -0800</delta_ts>
            <desc>patch</desc>
            <filename>clearSymbolTable.diff</filename>
            <type>text/plain</type>
            <size>3117</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM5MTI0
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDgtMTIt
MDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjc1MgorICAgICAgICBDbGVhciBTeW1ib2xUYWJsZSBhZnRlciBj
b2RlZ2VuIGZvciBGdW5jdGlvbiBjb2RlYmxvY2tzIHRoYXQKKyAgICAgICAgZG9uJ3QgcmVxdWly
ZSBhbiBhY3RpdmF0aW9uCisKKyAgICAgICAgVGhpcyBpcyBhIH4xLjVNQiBpbXByb3ZlbWVudCBv
biBNZW1idXN0ZXItaGVhZC4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcFN0YXRpc3RpY3MpOiBBZGQgbG9nZ2luZyBvZiBu
b24tZW1wdHkgc3ltYm9sIHRhYmxlcworICAgICAgICBhbmQgdG90YWwgc2l6ZSB1c2VkIGJ5IHN5
bWJvbCB0YWJsZXMuCisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKTogQ2xlYXIgdGhl
IHN5bWJvbCB0YWJsZSBoZXJlLgorCiAyMDA4LTEyLTA4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQ2FtZXJvbiBad2FyaWNoLgpJbmRleDogYnl0
ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBieXRlY29kZS9Db2RlQmxvY2suY3Bw
CShyZXZpc2lvbiAzOTEyMykKKysrIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTk5Myw5ICs5OTMsMTIgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBTdGF0aXN0aWNzKCkK
ICAgICAvLyBOb24tdmVjdG9yIGRhdGEgbWVtYmVycwogICAgIHNpemVfdCBqaXRSZXR1cm5BZGRy
ZXNzVlBDTWFwSXNOb3RFbXB0eSA9IDA7CiAgICAgc2l6ZV90IGV2YWxDb2RlQ2FjaGVJc05vdEVt
cHR5ID0gMDsKKyAgICBzaXplX3Qgc3ltYm9sVGFibGVJc05vdEVtcHR5ID0gMDsKIAogICAgIHNp
emVfdCBoYXNSYXJlRGF0YSA9IDA7CiAKKyAgICBzaXplX3Qgc3ltYm9sVGFibGVUb3RhbFNpemUg
PSAwOworCiAgICAgSGFzaFNldDxDb2RlQmxvY2sqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbGl2
ZUNvZGVCbG9ja1NldC5lbmQoKTsKICAgICBmb3IgKEhhc2hTZXQ8Q29kZUJsb2NrKj46OmNvbnN0
X2l0ZXJhdG9yIGl0ID0gbGl2ZUNvZGVCbG9ja1NldC5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQp
IHsKICAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSAqaXQ7CkBAIC0xMDA3LDYgKzEwMTAs
MTEgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBTdGF0aXN0aWNzKCkKICAgICAgICAgaWYgKCFjb2Rl
QmxvY2stPm1faml0UmV0dXJuQWRkcmVzc1ZQQ01hcC5pc0VtcHR5KCkpCiAgICAgICAgICAgICBq
aXRSZXR1cm5BZGRyZXNzVlBDTWFwSXNOb3RFbXB0eSsrOwogCisgICAgICAgIGlmICghY29kZUJs
b2NrLT5tX3N5bWJvbFRhYmxlLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgc3ltYm9sVGFibGVJ
c05vdEVtcHR5Kys7CisgICAgICAgICAgICBzeW1ib2xUYWJsZVRvdGFsU2l6ZSArPSAoY29kZUJs
b2NrLT5tX3N5bWJvbFRhYmxlLmNhcGFjaXR5KCkgKiAoc2l6ZW9mKFN5bWJvbFRhYmxlOjpLZXlU
eXBlKSArIHNpemVvZihTeW1ib2xUYWJsZTo6TWFwcGVkVHlwZSkpKTsKKyAgICAgICAgfQorCiAg
ICAgICAgIGlmIChjb2RlQmxvY2stPm1fcmFyZURhdGEpIHsKICAgICAgICAgICAgIGhhc1JhcmVE
YXRhKys7CiAgICAgICAgICAgICAjZGVmaW5lIEdFVF9TVEFUUyhuYW1lKSBpZiAoIWNvZGVCbG9j
ay0+bV9yYXJlRGF0YS0+bV8jI25hbWUuaXNFbXB0eSgpKSB7IG5hbWUjI0lzTm90RW1wdHkrKzsg
fQpAQCAtMTAzMCw2ICsxMDM4LDEwIEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wU3RhdGlzdGljcygp
CiAKICAgICBwcmludGYoIk51bWJlciBvZiBDb2RlQmxvY2tzIHdpdGggaml0UmV0dXJuQWRkcmVz
c1ZQQ01hcDogJXp1XG4iLCBqaXRSZXR1cm5BZGRyZXNzVlBDTWFwSXNOb3RFbXB0eSk7CiAgICAg
cHJpbnRmKCJOdW1iZXIgb2YgQ29kZUJsb2NrcyB3aXRoIGV2YWxDb2RlQ2FjaGU6ICV6dVxuIiwg
ZXZhbENvZGVDYWNoZUlzTm90RW1wdHkpOworICAgIHByaW50ZigiTnVtYmVyIG9mIENvZGVCbG9j
a3Mgd2l0aCBzeW1ib2xUYWJsZTogJXp1XG4iLCBzeW1ib2xUYWJsZUlzTm90RW1wdHkpOworCisg
ICAgcHJpbnRmKCJTaXplIG9mIGFsbCBzeW1ib2xUYWJsZXM6ICV6dVxuIiwgc3ltYm9sVGFibGVU
b3RhbFNpemUpOworCiAjZWxzZQogICAgIHByaW50ZigiRHVtcGluZyBDb2RlQmxvY2sgc3RhdGlz
dGljcyBpcyBub3QgZW5hYmxlZC5cbiIpOwogI2VuZGlmCkluZGV4OiBieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGJ5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAJKHJldmlzaW9uIDM5MTIyKQorKysgYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw4IEBAIHZvaWQgQnl0ZWNv
ZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICNlbmRpZgogCiAgICAgbV9jb2RlQmxvY2stPnNocmlu
a1RvRml0KCk7CisgICAgaWYgKG1fY29kZVR5cGUgPT0gRnVuY3Rpb25Db2RlICYmICFtX3Njb3Bl
Tm9kZS0+bmVlZHNBY3RpdmF0aW9uKCkpCisgICAgICAgIHN5bWJvbFRhYmxlKCkuY2xlYXIoKTsK
IH0KIAogYm9vbCBCeXRlY29kZUdlbmVyYXRvcjo6YWRkVmFyKGNvbnN0IElkZW50aWZpZXImIGlk
ZW50LCBib29sIGlzQ29uc3RhbnQsIFJlZ2lzdGVySUQqJiByMCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25903</attachid>
            <date>2008-12-09 16:39:22 -0800</date>
            <delta_ts>2008-12-09 16:39:22 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>updatedPatch.diff</filename>
            <type>text/plain</type>
            <size>3188</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM5MTU2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDgtMTIt
MDkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCB0d2lj
ZSBieSBDYW1lcm9uIFp3YXJpY2guCisKKyAgICAgICAgRml4IGZvciBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3NTIKKyAgICAgICAgQ2xlYXIgU3ltYm9sVGFibGUg
YWZ0ZXIgY29kZWdlbiBmb3IgRnVuY3Rpb24gY29kZWJsb2NrcyB0aGF0CisgICAgICAgIGRvbid0
IHJlcXVpcmUgYW4gYWN0aXZhdGlvbgorCisgICAgICAgIFRoaXMgaXMgYSB+MS41TUIgaW1wcm92
ZW1lbnQgb24gTWVtYnVzdGVyLWhlYWQuCisKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2su
Y3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBTdGF0aXN0aWNzKTogQWRkIGxvZ2dp
bmcgb2Ygbm9uLWVtcHR5IHN5bWJvbCB0YWJsZXMKKyAgICAgICAgYW5kIHRvdGFsIHNpemUgdXNl
ZCBieSBzeW1ib2wgdGFibGVzLgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZSk6IENs
ZWFyIHRoZSBzeW1ib2wgdGFibGUgaGVyZS4KKwogMjAwOC0xMi0wOSAgU2FtIFdlaW5pZyAgPHNh
bUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgpJbmRl
eDogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBieXRlY29kZS9Db2RlQmxv
Y2suY3BwCShyZXZpc2lvbiAzOTE1NikKKysrIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTk5Myw5ICs5OTMsMTIgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBTdGF0aXN0
aWNzKCkKICAgICAvLyBOb24tdmVjdG9yIGRhdGEgbWVtYmVycwogICAgIHNpemVfdCBqaXRSZXR1
cm5BZGRyZXNzVlBDTWFwSXNOb3RFbXB0eSA9IDA7CiAgICAgc2l6ZV90IGV2YWxDb2RlQ2FjaGVJ
c05vdEVtcHR5ID0gMDsKKyAgICBzaXplX3Qgc3ltYm9sVGFibGVJc05vdEVtcHR5ID0gMDsKIAog
ICAgIHNpemVfdCBoYXNSYXJlRGF0YSA9IDA7CiAKKyAgICBzaXplX3Qgc3ltYm9sVGFibGVUb3Rh
bFNpemUgPSAwOworCiAgICAgSGFzaFNldDxDb2RlQmxvY2sqPjo6Y29uc3RfaXRlcmF0b3IgZW5k
ID0gbGl2ZUNvZGVCbG9ja1NldC5lbmQoKTsKICAgICBmb3IgKEhhc2hTZXQ8Q29kZUJsb2NrKj46
OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbGl2ZUNvZGVCbG9ja1NldC5iZWdpbigpOyBpdCAhPSBlbmQ7
ICsraXQpIHsKICAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSAqaXQ7CkBAIC0xMDA3LDYg
KzEwMTAsMTEgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBTdGF0aXN0aWNzKCkKICAgICAgICAgaWYg
KCFjb2RlQmxvY2stPm1faml0UmV0dXJuQWRkcmVzc1ZQQ01hcC5pc0VtcHR5KCkpCiAgICAgICAg
ICAgICBqaXRSZXR1cm5BZGRyZXNzVlBDTWFwSXNOb3RFbXB0eSsrOwogCisgICAgICAgIGlmICgh
Y29kZUJsb2NrLT5tX3N5bWJvbFRhYmxlLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgc3ltYm9s
VGFibGVJc05vdEVtcHR5Kys7CisgICAgICAgICAgICBzeW1ib2xUYWJsZVRvdGFsU2l6ZSArPSAo
Y29kZUJsb2NrLT5tX3N5bWJvbFRhYmxlLmNhcGFjaXR5KCkgKiAoc2l6ZW9mKFN5bWJvbFRhYmxl
OjpLZXlUeXBlKSArIHNpemVvZihTeW1ib2xUYWJsZTo6TWFwcGVkVHlwZSkpKTsKKyAgICAgICAg
fQorCiAgICAgICAgIGlmIChjb2RlQmxvY2stPm1fcmFyZURhdGEpIHsKICAgICAgICAgICAgIGhh
c1JhcmVEYXRhKys7CiAgICAgICAgICAgICAjZGVmaW5lIEdFVF9TVEFUUyhuYW1lKSBpZiAoIWNv
ZGVCbG9jay0+bV9yYXJlRGF0YS0+bV8jI25hbWUuaXNFbXB0eSgpKSB7IG5hbWUjI0lzTm90RW1w
dHkrKzsgfQpAQCAtMTAzMCw2ICsxMDM4LDEwIEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wU3RhdGlz
dGljcygpCiAKICAgICBwcmludGYoIk51bWJlciBvZiBDb2RlQmxvY2tzIHdpdGggaml0UmV0dXJu
QWRkcmVzc1ZQQ01hcDogJXp1XG4iLCBqaXRSZXR1cm5BZGRyZXNzVlBDTWFwSXNOb3RFbXB0eSk7
CiAgICAgcHJpbnRmKCJOdW1iZXIgb2YgQ29kZUJsb2NrcyB3aXRoIGV2YWxDb2RlQ2FjaGU6ICV6
dVxuIiwgZXZhbENvZGVDYWNoZUlzTm90RW1wdHkpOworICAgIHByaW50ZigiTnVtYmVyIG9mIENv
ZGVCbG9ja3Mgd2l0aCBzeW1ib2xUYWJsZTogJXp1XG4iLCBzeW1ib2xUYWJsZUlzTm90RW1wdHkp
OworCisgICAgcHJpbnRmKCJTaXplIG9mIGFsbCBzeW1ib2xUYWJsZXM6ICV6dVxuIiwgc3ltYm9s
VGFibGVUb3RhbFNpemUpOworCiAjZWxzZQogICAgIHByaW50ZigiRHVtcGluZyBDb2RlQmxvY2sg
c3RhdGlzdGljcyBpcyBub3QgZW5hYmxlZC5cbiIpOwogI2VuZGlmCkluZGV4OiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGJ5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAJKHJldmlzaW9uIDM5MTU1KQorKysgYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw4IEBAIHZvaWQg
Qnl0ZWNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkKICNlbmRpZgogCiAgICAgbV9jb2RlQmxvY2st
PnNocmlua1RvRml0KCk7CisgICAgaWYgKChtX2NvZGVUeXBlID09IEZ1bmN0aW9uQ29kZSAmJiAh
bV9jb2RlQmxvY2stPm5lZWRzRnVsbFNjb3BlQ2hhaW4oKSAmJiAhbV9jb2RlQmxvY2stPnVzZXNB
cmd1bWVudHMoKSkgfHwgbV9jb2RlVHlwZSA9PSBFdmFsQ29kZSkKKyAgICAgICAgc3ltYm9sVGFi
bGUoKS5jbGVhcigpOwogfQogCiBib29sIEJ5dGVjb2RlR2VuZXJhdG9yOjphZGRWYXIoY29uc3Qg
SWRlbnRpZmllciYgaWRlbnQsIGJvb2wgaXNDb25zdGFudCwgUmVnaXN0ZXJJRComIHIwKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>