Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Type based alias analysis for Smalltalk #56

Open
0x7CFE opened this issue Apr 22, 2014 · 1 comment
Open

Type based alias analysis for Smalltalk #56

0x7CFE opened this issue Apr 22, 2014 · 1 comment

Comments

@0x7CFE
Copy link
Owner

0x7CFE commented Apr 22, 2014

Smalltalk being a fully dynamic language is still very structured in terms of memory organization. All objects share the same format and operate in a very simple and straightforward way. This is very convinient from compiler's point of view because we do not need to handle a wide variety of side effects and make potentially dangerous assumptions.

One of this is pointer aliasing. Smalltalk objects never overlap. Pointers to objects always point to the header and do not overlap too (restricted pointer access in terms of C). The only situation when pointers may overlap is the BulkReplace primitive operation which is performed on the same object. Non-object pointers are instances of SmallInt and need to be handled separately.

Knowing these facts we may implement very optimistic alias analyzer that will help LLVM to solve pointer aliasing issues. Future progress in static type inference will boost it even further.

See also: http://llvm.org/docs/AliasAnalysis.html

@0x7CFE
Copy link
Owner Author

0x7CFE commented Jun 18, 2016

Static analysis implemented in #92 will provide a basis for TBAA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant