<?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>136200</bug_id>
          
          <creation_ts>2014-08-24 09:19:08 -0700</creation_ts>
          <short_desc>Return statement TypeSet&apos;s might be duplicated</short_desc>
          <delta_ts>2014-08-25 19:18:18 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1030970</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2014-08-24 09:19:08 -0700</bug_when>
    <thetext>Currently, the globalTypeSet which stores the convergence of all types that represent the return type for a function live off CodeBlock. 
But this is based on a bad assumption that CodeBlock has a one to one mapping with a function in the source code of a program.
We want the globalTypeSet of a return statement to live off an object that has a one to one mapping with functions in the source code of a program.
Currently, return type sets in CodeBlock that go into the TypeLocation object aren&apos;t duplicated because TypeLocationCache will 
hash cons the TypeSet into the same TypeLocation, but it&apos;s still a faulty assumption that should be corrected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030996</commentid>
    <comment_count>1</comment_count>
      <attachid>237048</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2014-08-24 16:20:11 -0700</bug_when>
    <thetext>Created attachment 237048
patch

Solves the problem by placing the TypeSet on FunctionExecutable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031287</commentid>
    <comment_count>2</comment_count>
      <attachid>237048</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-25 19:18:16 -0700</bug_when>
    <thetext>Comment on attachment 237048
patch

Clearing flags on attachment: 237048

Committed r172949: &lt;http://trac.webkit.org/changeset/172949&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031288</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-08-25 19:18:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237048</attachid>
            <date>2014-08-24 16:20:11 -0700</date>
            <delta_ts>2014-08-25 19:18:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>136200-patch.diff</filename>
            <type>text/plain</type>
            <size>5140</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcyODk2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDE0LTA4LTI0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFJldHVybiBzdGF0ZW1lbnQgVHlwZVNldCdzIG1pZ2h0IGJlIGR1cGxpY2F0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIwMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSwgdGhlIGds
b2JhbFR5cGVTZXQgdGhhdCBjb252ZXJnZXMgdGhlIHR5cGVzIG9mIGFsbCAKKyAgICAgICAgcmV0
dXJuIHN0YXRlbWVudHMgaW4gYSBmdW5jdGlvbiBsaXZlcyBvZmYgb2YgQ29kZUJsb2NrLiBJdCBs
aXZlcyAKKyAgICAgICAgb2ZmIENvZGVCbG9jayBiZWNhdXNlIG9mIGEgZmF1bHR5IGFzc3VtcHRp
b24gdGhhdCBDb2RlQmxvY2sgCisgICAgICAgIHdpbGwgaGF2ZSBhIG9uZSB0byBvbmUgbWFwcGlu
ZyB3aXRoIGEgZnVuY3Rpb24gaW4gdGhlIHNvdXJjZSAKKyAgICAgICAgdGV4dCBvZiB0aGUgcHJv
Z3JhbS4gKEN1cnJlbnRseSwgdGhlcmUgaXNuJ3QgYW4gYWN0dWFsIGJ1ZyAKKyAgICAgICAgd2l0
aCB0aGlzIGRlc2lnbiBiZWNhdXNlIFR5cGVMb2NhdGlvbkNhY2hlIHdpbGwgaGFzaCBjb25zIHRv
IAorICAgICAgICB0aGUgc2FtZSBUeXBlTG9jYXRpb24sIGJ1dCB0aGlzIGlzIHN0aWxsIGFuIGlu
Y29ycmVjdCBkZXNpZ24pLiAKKyAgICAgICAgSW4gdGhpcyBwYXRjaCwgdGhlIGdsb2JhbFR5cGVT
ZXQgZm9yIGZ1bmN0aW9uIHJldHVybiBzdGF0ZW1lbnRzICAKKyAgICAgICAgaXMgbW92ZWQgdG8g
dGhlIEZ1bmN0aW9uRXhlY3V0YWJsZSBvYmplY3Qgd2hpY2ggZG9lcyBoYXZlIGEgb25lIAorICAg
ICAgICB0byBvbmUgbWFwcGluZyB3aXRoIGZ1bmN0aW9ucyBpbiB0aGUgc291cmNlIHRleHQgb2Yg
YSBwcm9ncmFtLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpDb2RlQmxvY2spOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9j
ay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnJldHVyblN0YXRlbWVudFR5cGVTZXQpOiBE
ZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJsZS5oOgorICAgICAgICAoSlNDOjpG
dW5jdGlvbkV4ZWN1dGFibGU6OnJldHVyblN0YXRlbWVudFR5cGVTZXQpOgorCiAyMDE0LTA4LTIz
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogRG8gbm90IGNvcHkgbGFyZ2UgbW9kdWxlIHNvdXJjZSBzdHJpbmdzCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24g
MTcyODk2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE3MDYsNyArMTcwNiw2IEBAIENvZGVCbG9jazo6Q29kZUJsb2Nr
KFNjcmlwdEV4ZWN1dGFibGUqIG8KICAgICAsIG1fb3NyRXhpdENvdW50ZXIoMCkKICAgICAsIG1f
b3B0aW1pemF0aW9uRGVsYXlDb3VudGVyKDApCiAgICAgLCBtX3Jlb3B0aW1pemF0aW9uUmV0cnlD
b3VudGVyKDApCi0gICAgLCBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQobnVsbHB0cikKICNpZiBF
TkFCTEUoSklUKQogICAgICwgbV9jYXBhYmlsaXR5TGV2ZWxTdGF0ZShERkc6OkNhcGFiaWxpdHlM
ZXZlbE5vdFNldCkKICNlbmRpZgpAQCAtMjA0Myw3ICsyMDQyLDggQEAgQ29kZUJsb2NrOjpDb2Rl
QmxvY2soU2NyaXB0RXhlY3V0YWJsZSogbwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgY2FzZSBQcm9maWxlVHlwZUJ5dGVjb2RlRnVuY3Rpb25SZXR1
cm5TdGF0ZW1lbnQ6IHsKLSAgICAgICAgICAgICAgICBnbG9iYWxUeXBlU2V0ID0gcmV0dXJuU3Rh
dGVtZW50VHlwZVNldCgpOworICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG93bmVyRXhl
Y3V0YWJsZS0+aXNGdW5jdGlvbkV4ZWN1dGFibGUoKSk7CisgICAgICAgICAgICAgICAgZ2xvYmFs
VHlwZVNldCA9IGpzQ2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihvd25lckV4ZWN1dGFibGUpLT5y
ZXR1cm5TdGF0ZW1lbnRUeXBlU2V0KCk7CiAgICAgICAgICAgICAgICAgZ2xvYmFsVmFyaWFibGVJ
RCA9IFR5cGVQcm9maWxlclJldHVyblN0YXRlbWVudDsKICAgICAgICAgICAgICAgICBpZiAoIXNo
b3VsZEFuYWx5emUpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBzb21lIHJldHVy
biBzdGF0ZW1lbnRzIGFyZSBhZGRlZCBpbXBsaWNpdGx5ICh0byByZXR1cm4gdW5kZWZpbmVkIGF0
IHRoZSBlbmQgb2YgYSBmdW5jdGlvbiksIGFuZCB0aGVzZSBub2RlcyBkb24ndCBlbWl0IGV4cHJl
c3Npb24gcmFuZ2VzLCBnaXZlIHRoZW0gc29tZSByYW5nZS4KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlzaW9uIDE3Mjg5NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAt
NjQsNyArNjQsNiBAQAogI2luY2x1ZGUgIlByb2ZpbGVySmV0dGlzb25SZWFzb24uaCIKICNpbmNs
dWRlICJSZWdFeHBPYmplY3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmVTdHViSW5mby5oIgotI2lu
Y2x1ZGUgIlR5cGVTZXQuaCIKICNpbmNsdWRlICJVbmNvbmRpdGlvbmFsRmluYWxpemVyLmgiCiAj
aW5jbHVkZSAiVmFsdWVQcm9maWxlLmgiCiAjaW5jbHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCkBA
IC05NDIsMTMgKzk0MSw2IEBAIHB1YmxpYzoKICAgICBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZv
aWQgZW5kVmFsaWRhdGlvbkRpZEZhaWwoKTsKIAogICAgIGJvb2wgaXNLbm93blRvQmVMaXZlRHVy
aW5nR0MoKTsgLy8gV2lsbCBvbmx5IHJldHVybiB2YWxpZCByZXN1bHRzIHdoZW4gY2FsbGVkIGR1
cmluZyBHQy4gQXNzdW1lcyB0aGF0IHlvdSd2ZSBhbHJlYWR5IGVzdGFibGlzaGVkIHRoYXQgdGhl
IG93bmVyIGV4ZWN1dGFibGUgaXMgbGl2ZS4KLSAgICBSZWZQdHI8VHlwZVNldD4gcmV0dXJuU3Rh
dGVtZW50VHlwZVNldCgpIAotICAgIHsKLSAgICAgICAgaWYgKCFtX3JldHVyblN0YXRlbWVudFR5
cGVTZXQpCi0gICAgICAgICAgICBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQgPSBUeXBlU2V0Ojpj
cmVhdGUoKTsKLQotICAgICAgICByZXR1cm4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwotICAg
IH0KIAogCiBwcm90ZWN0ZWQ6CkBAIC0xMDk5LDggKzEwOTEsNiBAQCBwcml2YXRlOgogCiAgICAg
c3RkOjp1bmlxdWVfcHRyPEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcz4gbV9saXZlbmVzc0FuYWx5
c2lzOwogCi0gICAgUmVmUHRyPFR5cGVTZXQ+IG1fcmV0dXJuU3RhdGVtZW50VHlwZVNldDsKLQog
ICAgIHN0cnVjdCBSYXJlRGF0YSB7CiAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFi
bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRh
YmxlLmgJKHJldmlzaW9uIDE3Mjg5NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0V4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUg
IlJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZS5oIgogI2luY2x1ZGUgIlNhbXBsaW5nVG9vbC5oIgog
I2luY2x1ZGUgIlNvdXJjZUNvZGUuaCIKKyNpbmNsdWRlICJUeXBlU2V0LmgiCiAjaW5jbHVkZSAi
VW5saW5rZWRDb2RlQmxvY2suaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC02
MTIsNiArNjEzLDE0IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBiYXNlbGluZUNv
ZGVCbG9ja0ZvcihraW5kKTsKICAgICB9CisKKyAgICBSZWZQdHI8VHlwZVNldD4gcmV0dXJuU3Rh
dGVtZW50VHlwZVNldCgpIAorICAgIHsKKyAgICAgICAgaWYgKCFtX3JldHVyblN0YXRlbWVudFR5
cGVTZXQpCisgICAgICAgICAgICBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQgPSBUeXBlU2V0Ojpj
cmVhdGUoKTsKKworICAgICAgICByZXR1cm4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OworICAg
IH0KICAgICAgICAgCiAgICAgRnVuY3Rpb25Nb2RlIGZ1bmN0aW9uTW9kZSgpIHsgcmV0dXJuIG1f
dW5saW5rZWRFeGVjdXRhYmxlLT5mdW5jdGlvbk1vZGUoKTsgfQogICAgIGJvb2wgaXNCdWlsdGlu
RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3VubGlua2VkRXhlY3V0YWJsZS0+aXNCdWlsdGlu
RnVuY3Rpb24oKTsgfQpAQCAtNjU5LDYgKzY2OCw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEZ1
bmN0aW9uQ29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0cnVjdDsKICAgICBib29sIG1fYm9k
eUluY2x1ZGVzQnJhY2VzOwogICAgIGJvb2wgbV9kaWRQYXJzZUZvclRoZUZpcnN0VGltZTsKKyAg
ICBSZWZQdHI8VHlwZVNldD4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogfTsKIAogaW5saW5l
IHZvaWQgRXhlY3V0YWJsZUJhc2U6OmNsZWFyQ29kZVZpcnR1YWwoRXhlY3V0YWJsZUJhc2UqIGV4
ZWN1dGFibGUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>