It was mentioned earlier that the standard library may not use copies that
may be non atomic due to the GC.. I should have asked this at the time but
is there a point ? Can you make a GC compaction  or move and not stop the
world without a scheme that is incredibly costly ?  For a start you must
stop the threads to scan the stack for local variables anyway not to mention
the issue of any references from other static /stack or heap data being used
by other threads ( and you cant make the reference and structure updates
atomic together without a lock) . There may be some schemes where there is
an indirection /forwarding stub  left or a lookup table for heap objects
 but this means your compacting is reduced and every access suffers an
indirection ( not to mention the CAS you need to avoid race conditions) .

Ben
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to