On 7 August 2013 17:57, Bennie Kloosteman <[email protected]> wrote: > re sub graphs , when you use a borrowed pointer and pass to another task it > transfer all the data by value , this is what its probably referring to. > They also have some object cloning mechanism .. > > How does deep copy on return break region unfication ?
Break in a good way! It means the return region is disjoint from all the others, which means we can de-allocate the others wholesale. It could be considered a good thing to have, because de-allocation decisions may not be entirely obvious (from the control flow that remains in the SSA form). It could be interesting for data locality, and also for effect based optimisations, because initialisation of some fields of the object could be deferred if the fields are not accessed before the copy. I'm a bit uncomfortable about the compiler inserting random copy code into my function just because I added an if statement, but I guess it wouldn't be the only option anyway. -- William Leslie Notice: Likely much of this email is, by the nature of copyright, covered under copyright law. You absolutely may reproduce any part of it in accordance with the copyright law of the nation you are reading this in. Any attempt to deny you those rights would be illegal without prior contractual agreement. _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
