about summary refs log tree commit diff
path: root/src/rt/rust.cpp
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-05-31 14:24:04 +0200
committerMarijn Haverbeke <marijnh@gmail.com>2011-05-31 14:29:16 +0200
commit7d68cbdff00d055c1fd5168227803a987a4a4a51 (patch)
treeb656970515f5c28d00a3ceaac56d90450f1f7787 /src/rt/rust.cpp
parent81fc2d8728b622275d55243cbacbc7834641503f (diff)
downloadrust-7d68cbdff00d055c1fd5168227803a987a4a4a51.tar.gz
rust-7d68cbdff00d055c1fd5168227803a987a4a4a51.zip
Have blocks return their result by writing to a reserved space
This makes it possible to pass the location of that space through to
nested blocks, resulting in less copying, taking, and dropping.

This makes the compiler slightly faster and 19k smaller.

A FIXME is to use 'move' semantics when returning the values from the
block -- don't bump the refcount and drop it again for the returning
block, but simply assign ownership to the receiver. To do this, we'll
need a way to (safely) scrub things from a block's cleanup list.
Diffstat (limited to 'src/rt/rust.cpp')
0 files changed, 0 insertions, 0 deletions