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
