about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2017-03-23 16:45:21 -0400
committerNiko Matsakis <niko@alum.mit.edu>2017-03-23 19:10:45 -0400
commit69c9d9b3b806148846459cd0e4e30f300686dd97 (patch)
tree6169f432849f18c716bc5f04649261c17b39c6fa /src/rustllvm/RustWrapper.cpp
parenta3a5ff98eba2f81ec76b18cce50f113f59181cce (diff)
downloadrust-69c9d9b3b806148846459cd0e4e30f300686dd97.tar.gz
rust-69c9d9b3b806148846459cd0e4e30f300686dd97.zip
ignore reads of tracked state when there is no current task
I realized that, even in the current system, such reads can't really do
any harm. Because they are not part of a task, they will occur no matter
what (only tasks can be skipped). If you leak the data you read into a
task, that is bad, but that is equally bad if you are in a task.

*Writes* to tracked state, on the other hand, should never occur except
from within a task (and the task then records what things you read to
compute it).

Once we complete the shift to on-demand, these properties will hold by
construction (because the on-demand struct enforces stateless tasks
where leaks are impossible -- except by having shared mutable state in
the tcx).
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions