Vote UpVote

Behind the Scenes: Cross-Module Inlining in Island

RemObjects Blogs – As most people know, our Island compiler backend is based on LLVM and uses that to optimize and inline code. However, one problem with that is that LLVM works on the "module" level, per object file, not for the final executable or between different libraries. Elements creates one object file per class and/or generic instantiation, so when calling, say, List<Integer>.Item[0], it calls the underlying method, instead of inlining what is a fairly simple method. Until a short while ago, we used LLVMs link time optimization to get around this. This works by emitting optimized LLVM ...
Favorite? Off-Topic? Carlo Kok @ 2019-05-08 23:01


Visits: 114
Votes: 0
Favorites: 0
Off-Topic: 0

Visits by Source

User Actions

Users who voted for this posting

Contact us to advertise on DelphiFeeds.com

Community Links

Torry Firebird News


Please login or register to use this functionality.
(click on this box to dismiss)