about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorStuart Pernsteiner <spernsteiner@mozilla.com>2014-07-21 16:42:34 -0700
committerStuart Pernsteiner <spernsteiner@mozilla.com>2014-09-05 09:18:57 -0700
commitda9606247d5ddd0edebafaffd0367c541fbaee7e (patch)
treedc24ae23f92b8045e617b635268f835449fac8f4 /src/rustllvm/ExecutionEngineWrapper.cpp
parent2e7bc0f808d9ad874010ac610ad796d07127c458 (diff)
downloadrust-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/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions