[Gc] C optimizer hazards in practice

Richard Brooksby <[email protected]> Thu, 10 Jul 2014 11:28:35 +0100
Newsgroups gmane.comp.programming.garbage-collection.boehmgc
Message-ID <[email protected]>
https://github.com/ivmai/bdwgc/blob/3ec2783588c8ba53a0b6a347d61d4e5c1b5dc80e/README.md says:

> Some C optimizers may lose the last undisguised pointer to a memory object as a consequence of clever optimizations. This has almost never been observed in practice.

Does anyone have any stories to tell about when this *has* been observed, or any links to accounts of this happening?

Background: The Memory Pool System <http://www.ravenbrook.com/project/mps/> team is currently investigating a case of the Microsoft C compiler optimising away the last reference to an object, causing it to be prematurely recycled and corrupt the heap.  See <http://mailman.ravenbrook.com/pipermail/mps-discussion/2014-July/000144.html> for details, including repro, disassembly, analysis, etc.