about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2016-03-24 10:03:22 -0400
committerNiko Matsakis <niko@alum.mit.edu>2016-03-25 14:07:20 -0400
commit4c527457f147881dc864b8b737c4288540b32208 (patch)
tree10c7f992cfb8f0f35eacacf50cabf16cbc6214ec /src/rustllvm/ExecutionEngineWrapper.cpp
parentb385ce12232a6c192b168b75ec9867a5a83d2036 (diff)
downloadrust-4c527457f147881dc864b8b737c4288540b32208.tar.gz
rust-4c527457f147881dc864b8b737c4288540b32208.zip
rip out link guards
As discussed in
https://github.com/rust-lang/rust/pull/32293#issuecomment-200597130,
adding link guards are a heuristic that is causing undue complications:

- the link guards inject extra public symbols, which is not always OK.
- link guards as implemented could be a non-trivial performance hit,
  because no attempt is made to "de-duplicate" the dependency graph,
  so at worst you have O(N!) calls to the link guard functions.

Nonetheless, link guards are very helpful in detecting errors, so it may
be worth adding them back in some modified form in the future.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions