Bug 136200 - Return statement TypeSet's might be duplicated
Summary: Return statement TypeSet's might be duplicated
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
Depends on:
Reported: 2014-08-24 09:19 PDT by Saam Barati
Modified: 2014-08-25 19:18 PDT (History)
2 users (show)

See Also:

patch (5.02 KB, patch)
2014-08-24 16:20 PDT, Saam Barati
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saam Barati 2014-08-24 09:19:08 PDT
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't duplicated because TypeLocationCache will 
hash cons the TypeSet into the same TypeLocation, but it's still a faulty assumption that should be corrected.
Comment 1 Saam Barati 2014-08-24 16:20:11 PDT
Created attachment 237048 [details]

Solves the problem by placing the TypeSet on FunctionExecutable.
Comment 2 WebKit Commit Bot 2014-08-25 19:18:16 PDT
Comment on attachment 237048 [details]

Clearing flags on attachment: 237048

Committed r172949: <http://trac.webkit.org/changeset/172949>
Comment 3 WebKit Commit Bot 2014-08-25 19:18:18 PDT
All reviewed patches have been landed.  Closing bug.