<?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>160671</bug_id>
          
          <creation_ts>2016-08-08 15:59:53 -0700</creation_ts>
          <short_desc>Parser&lt;LexerType&gt;::parseFunctionInfo() has the wrong info about captured vars when a function is not cached.</short_desc>
          <delta_ts>2016-08-09 15:05:00 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1218602</commentid>
    <comment_count>0</comment_count>
      <attachid>285595</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-08-08 15:59:53 -0700</bug_when>
    <thetext>Created attachment 285595
Repro test case.

Steps to repro:

1. Apply the following patch to disable the function cache.

Index: Source/JavaScriptCore/parser/Parser.cpp
===================================================================
--- Source/JavaScriptCore/parser/Parser.cpp     (revision 204127)
+++ Source/JavaScriptCore/parser/Parser.cpp     (working copy)
@@ -1954,6 +1954,7 @@ template &lt;class TreeBuilder&gt; bool Parser
     FunctionBodyType functionBodyType;
 
     auto loadCachedFunction = [&amp;] () -&gt; bool {
+        if (true) return false;
         ASSERT(parametersStart != -1);
         ASSERT(startColumn != -1);
 
2. Run jsc on the attached test case.

It ends up throwing the following invalid error:

Exception: ReferenceError: Can&apos;t find variable: inner
/Volumes/Data/objcjsc/tests/test.js:9:52
foo2@/Volumes/Data/objcjsc/tests/test.js:12:17
goo2@/Volumes/Data/objcjsc/tests/test.js:14:9
global code@/Volumes/Data/objcjsc/tests/test.js:15:3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218603</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-08-08 16:01:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/27756112&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218816</commentid>
    <comment_count>2</comment_count>
      <attachid>285666</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-09 13:28:21 -0700</bug_when>
    <thetext>Created attachment 285666
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218825</commentid>
    <comment_count>3</comment_count>
      <attachid>285666</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-08-09 13:42:03 -0700</bug_when>
    <thetext>Comment on attachment 285666
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218860</commentid>
    <comment_count>4</comment_count>
      <attachid>285666</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-09 15:04:56 -0700</bug_when>
    <thetext>Comment on attachment 285666
patch

Clearing flags on attachment: 285666

Committed r204305: &lt;http://trac.webkit.org/changeset/204305&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218861</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-09 15:05:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>285595</attachid>
            <date>2016-08-08 15:59:53 -0700</date>
            <delta_ts>2016-08-08 15:59:53 -0700</delta_ts>
            <desc>Repro test case.</desc>
            <filename>test.js</filename>
            <type>application/x-javascript</type>
            <size>298</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKICAgIGlmICghYikKICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
ImJhZCIpOwp9CgooZnVuY3Rpb24gZ29vMigpIHsKICAgIGxldCBvYmogPSB7fTsKICAgIGxldCBp
bm5lciA9IG9iajsKICAgIGZ1bmN0aW9uIGZvbzIoYiwge2EgPSBmdW5jdGlvbigpIHsgcmV0dXJu
IGlubmVyOyB9fSkgewogICAgICAgIGxldCBpbm5lciA9IDI1OwogICAgICAgIGFzc2VydChpbm5l
ciA9PT0gMjUpOwogICAgICAgIGFzc2VydChhKCkgPT09IG9iaik7CiAgICB9CiAgICBmb28yKDIw
LCB7fSk7Cn0pKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285666</attachid>
            <date>2016-08-09 13:28:21 -0700</date>
            <delta_ts>2016-08-09 15:04:56 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>5671</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA0MjYxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDE2LTA4LTA5ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbygpIGhhcyB0aGUgd3JvbmcgaW5m
byBhYm91dCBjYXB0dXJlZCB2YXJzIHdoZW4gYSBmdW5jdGlvbiBpcyBub3QgY2FjaGVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNjcxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yNzc1NjExMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSB3YXMgYSBidWcgaW4gb3VyIGNhcHR1cmVkIHZh
cmlhYmxlIGFuYWx5c2lzIHdoZW4gYSBmdW5jdGlvbiBoYXMgYSBkZWZhdWx0CisgICAgICAgIHBh
cmFtZXRlciBleHByZXNzaW9uIHRoYXQgaXMgYSBmdW5jdGlvbiB0aGF0IGNhcHR1cmVzIHNvbWV0
aGluZyBmcm9tIHRoZSBwYXJlbnQgc2NvcGUuCisgICAgICAgIFRoZSBidWcgd2FzIHRoYXQgd2Ug
d2VyZSByZWx5aW5nIG9uIHRoZSBTb3VyY2VQcm92aWRlckNhY2hlIHRvIHN1Y2NlZWQgZm9yIHRo
ZQorICAgICAgICBhbmFseXNpcyB0byB3b3JrLiBUaGlzIGlzIG9idmlvdXNseSB3cm9uZy4gSSd2
ZSBmaXhlZCB0aGlzIHRvIHdvcmsgcmVnYXJkbGVzcworICAgICAgICBvZiBnZXR0aW5nIGEgY2Fj
aGUgaGl0LiBUbyBwcmV2ZW50IGZ1dHVyZSBidWdzIHRoYXQgcmVseSBvbiB0aGUgc3VjY2VzcyBv
ZiB0aGUKKyAgICAgICAgU291cmNlUHJvdmlkZXJDYWNoZSwgSSd2ZSBtYWRlIHRoZSB2YWxpZGF0
ZSB0ZXN0aW5nIG1vZGUgZGlzYWJsZSB0aGUgU291cmNlUHJvdmlkZXJDYWNoZQorCisgICAgICAg
ICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAo
SlNDOjpTY29wZTo6c2V0SW5uZXJBcnJvd0Z1bmN0aW9uVXNlc0V2YWxBbmRVc2VBcmd1bWVudHNJ
Zk5lZWRlZCk6CisgICAgICAgIChKU0M6OlNjb3BlOjphZGRDbG9zZWRWYXJpYWJsZUNhbmRpZGF0
ZVVuY29uZGl0aW9uYWxseSk6CisgICAgICAgIChKU0M6OlNjb3BlOjpjb2xsZWN0RnJlZVZhcmlh
Ymxlcyk6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisKIDIwMTYtMDgtMDggIE1hcmsg
TGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IGhh
c0lubGluZVN0b3JhZ2UoKSBpbiBKU0ZpbmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKCkuCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCShyZXZpc2lvbiAyMDQyNjEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE5MzksNiArMTkzOSw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9v
bCBQYXJzZXIKIHsKICAgICBSRUxFQVNFX0FTU0VSVChpc0Z1bmN0aW9uUGFyc2VNb2RlKG1vZGUp
KTsKIAorICAgIFNjb3BlUmVmIHBhcmVudFNjb3BlID0gY3VycmVudFNjb3BlKCk7CisKICAgICBi
b29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigp
OwogICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsK
ICAgICBmdW5jdGlvblNjb3BlLT5zZXRTb3VyY2VQYXJzZU1vZGUobW9kZSk7CkBAIC0xOTU0LDYg
KzE5NTYsOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyCiAgICAg
RnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlOwogCiAgICAgYXV0byBsb2FkQ2FjaGVk
RnVuY3Rpb24gPSBbJl0gKCkgLT4gYm9vbCB7CisgICAgICAgIGlmIChVTkxJS0VMWSghT3B0aW9u
czo6dXNlU291cmNlUHJvdmlkZXJDYWNoZSgpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KwogICAgICAgICBBU1NFUlQocGFyYW1ldGVyc1N0YXJ0ICE9IC0xKTsKICAgICAgICAgQVNTRVJU
KHN0YXJ0Q29sdW1uICE9IC0xKTsKIApAQCAtMjEzMyw4ICsyMTM4LDExIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXIKICAgICAvLyBhcyB0aGVpciBvd24gc2NvcGUp
LgogICAgIFVuaXF1ZWRTdHJpbmdJbXBsUHRyU2V0IG5vbkxvY2FsQ2FwdHVyZXNGcm9tUGFyYW1l
dGVyRXhwcmVzc2lvbnM7CiAgICAgZnVuY3Rpb25TY29wZS0+Zm9yRWFjaFVzZWRWYXJpYWJsZShb
Jl0gKFVuaXF1ZWRTdHJpbmdJbXBsKiBpbXBsKSB7Ci0gICAgICAgIGlmICghZnVuY3Rpb25TY29w
ZS0+aGFzRGVjbGFyZWRQYXJhbWV0ZXIoaW1wbCkpCisgICAgICAgIGlmICghZnVuY3Rpb25TY29w
ZS0+aGFzRGVjbGFyZWRQYXJhbWV0ZXIoaW1wbCkpIHsKICAgICAgICAgICAgIG5vbkxvY2FsQ2Fw
dHVyZXNGcm9tUGFyYW1ldGVyRXhwcmVzc2lvbnMuYWRkKGltcGwpOworICAgICAgICAgICAgaWYg
KFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pCisgICAgICAgICAgICAgICAgcGFy
ZW50U2NvcGUtPmFkZENsb3NlZFZhcmlhYmxlQ2FuZGlkYXRlVW5jb25kaXRpb25hbGx5KGltcGwp
OworICAgICAgICB9CiAgICAgfSk7CiAKICAgICBhdXRvIHBlcmZvcm1QYXJzaW5nRnVuY3Rpb25C
b2R5ID0gWyZdIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAkocmV2
aXNpb24gMjA0MjYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtNTM5LDYgKzUzOSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIGlmICh1
c2VkVmFyaWFibGVzQ29udGFpbnMobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzLmltcGwo
KSkpCiAgICAgICAgICAgICBzZXRJbm5lckFycm93RnVuY3Rpb25Vc2VzQXJndW1lbnRzKCk7CiAg
ICAgfQorCisgICAgdm9pZCBhZGRDbG9zZWRWYXJpYWJsZUNhbmRpZGF0ZVVuY29uZGl0aW9uYWxs
eShVbmlxdWVkU3RyaW5nSW1wbCogaW1wbCkKKyAgICB7CisgICAgICAgIG1fY2xvc2VkVmFyaWFi
bGVDYW5kaWRhdGVzLmFkZChpbXBsKTsKKyAgICB9CiAgICAgCiAgICAgdm9pZCBjb2xsZWN0RnJl
ZVZhcmlhYmxlcyhTY29wZSogbmVzdGVkU2NvcGUsIGJvb2wgc2hvdWxkVHJhY2tDbG9zZWRWYXJp
YWJsZXMpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9u
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMu
aAkocmV2aXNpb24gMjA0MjYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0
aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzksNiArMzc5LDggQEAgdHlwZWRlZiBjb25zdCBj
aGFyKiBvcHRpb25TdHJpbmc7CiAgICAgXAogICAgIHYoYm9vbCwgcmVwb3J0TExJbnRTdGF0cywg
ZmFsc2UsIENvbmZpZ3VyYWJsZSwgIlJlcG9ydHMgTExJbnQgc3RhdGlzdGljcyIpIFwKICAgICB2
KG9wdGlvblN0cmluZywgbGxpbnRTdGF0c0ZpbGUsIG51bGxwdHIsIENvbmZpZ3VyYWJsZSwgIkZp
bGUgdG8gY29sbGVjdCBMTEludCBzdGF0aXN0aWNzIGluIikgXAorICAgIFwKKyAgICB2KGJvb2ws
IHVzZVNvdXJjZVByb3ZpZGVyQ2FjaGUsIHRydWUsIE5vcm1hbCwgIklmIGZhbHNlLCB0aGUgcGFy
c2VyIHdpbGwgbm90IHVzZSB0aGUgc291cmNlIHByb3ZpZGVyIGNhY2hlLiBJdCdzIGdvb2QgdG8g
dmVyaWZ5IGV2ZXJ5dGhpbmcgd29ya3Mgd2hlbiB0aGlzIGlzIGZhbHNlLiBCZWNhdXNlIHRoZSBj
YWNoZSBpcyBzbyBzdWNjZXNzZnVsLCBpdCBjYW4gbWFzayBidWdzLiIpIFwKIAogZW51bSBPcHRp
b25FcXVpdmFsZW5jZSB7CiAgICAgU2FtZU9wdGlvbiwKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNDI5MCkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE2LTA4LTA5ICBT
YWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbygpIGhhcyB0aGUgd3JvbmcgaW5mbyBhYm91dCBjYXB0dXJl
ZCB2YXJzIHdoZW4gYSBmdW5jdGlvbiBpcyBub3QgY2FjaGVkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNjcxCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yNzc1NjExMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHM6CisKIDIwMTYtMDgtMDkgIEFh
a2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEVXUyBsb2dnaW5n
IHNob3VsZCBlbnN1cmUgdGhlIGxvZ2dpbmcgdG8gZmlsZSBpcyBzdG9wcGVkIG9uIHF1ZXVlIHRl
cm1pbmF0aW9uCkluZGV4OiBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHJldmlzaW9uIDIw
NDI2MSkKKysrIFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcgY29w
eSkKQEAgLTgwMCw3ICs4MDAsNyBAQCBkZWYgcnVuTm9DSklUVmFsaWRhdGUKIGVuZAogCiBkZWYg
cnVuTm9DSklUVmFsaWRhdGVQaGFzZXMKLSAgICBydW4oIm5vLWNqaXQtdmFsaWRhdGUtcGhhc2Vz
IiwgIi0tdmFsaWRhdGVCeXRlY29kZT10cnVlIiwgIi0tdmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNl
PXRydWUiLCAqTk9fQ0pJVF9PUFRJT05TKQorICAgIHJ1bigibm8tY2ppdC12YWxpZGF0ZS1waGFz
ZXMiLCAiLS12YWxpZGF0ZUJ5dGVjb2RlPXRydWUiLCAiLS12YWxpZGF0ZUdyYXBoQXRFYWNoUGhh
c2U9dHJ1ZSIsICItLXVzZVNvdXJjZVByb3ZpZGVyQ2FjaGU9ZmFsc2UiLCAqTk9fQ0pJVF9PUFRJ
T05TKQogZW5kCiAKIGRlZiBydW5EZWZhdWx0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>