about summary refs log tree commit diff
path: root/src/rt/rust_kernel.cpp
diff options
context:
space:
mode:
authorBjörn Steinbrink <bsteinbr@gmail.com>2013-07-08 08:12:01 +0200
committerBjörn Steinbrink <steinbrink@saltation.de>2013-07-08 13:34:13 +0200
commit00ba8b3ac0692293511858cae6fe1a3e1dcc316b (patch)
treec4081888a0f66589d0ca7d5a827723c61e331554 /src/rt/rust_kernel.cpp
parent4a485f8cec524c8f3f57e4fd3248d5093ed3dc5f (diff)
downloadrust-00ba8b3ac0692293511858cae6fe1a3e1dcc316b.tar.gz
rust-00ba8b3ac0692293511858cae6fe1a3e1dcc316b.zip
Improve handling of immediate return values
We currently still handle immediate return values a lot like
non-immediate ones. We provide a slot for them and store them into
memory, often just to immediately load them again. To improve this
situation, trans_call_inner has to return a Result which contains the
immediate return value.

Also, it also needs to accept "No destination" in addition to just
SaveIn and Ignore. Since "No destination" isn't something that fits
well into the Dest type, I've chosen to simply use Option<Dest>
instead, paired with an assertion that checks that "None" is only
allowed for immediate return values.
Diffstat (limited to 'src/rt/rust_kernel.cpp')
0 files changed, 0 insertions, 0 deletions