diff options
| author | Stuart Pernsteiner <spernsteiner@mozilla.com> | 2014-07-21 16:42:34 -0700 |
|---|---|---|
| committer | Stuart Pernsteiner <spernsteiner@mozilla.com> | 2014-09-05 09:18:57 -0700 |
| commit | da9606247d5ddd0edebafaffd0367c541fbaee7e (patch) | |
| tree | dc24ae23f92b8045e617b635268f835449fac8f4 /src/rustllvm/RustWrapper.cpp | |
| parent | 2e7bc0f808d9ad874010ac610ad796d07127c458 (diff) | |
| download | rust-da9606247d5ddd0edebafaffd0367c541fbaee7e.tar.gz rust-da9606247d5ddd0edebafaffd0367c541fbaee7e.zip | |
translate into multiple llvm contexts
Rotate between compilation units while translating. The "worker threads" commit added support for multiple compilation units, but only translated into one, leaving the rest empty. With this commit, `trans` rotates between various compilation units while translating, using a simple stragtegy: upon entering a module, switch to translating into whichever compilation unit currently contains the fewest LLVM instructions. Most of the actual changes here involve getting symbol linkage right, so that items translated into different compilation units will link together properly at the end.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
