[LLVMdev] Proposal: Loads/stores with deterministic trap/unwind behavior

David Chisnall David.Chisnall at cl.cam.ac.uk
Tue Apr 1 13:03:10 PDT 2014


On 1 Apr 2014, at 19:38, Peter Collingbourne <peter at pcc.me.uk> wrote:

> I'm pretty sure that it is possible to unwind through signal handlers. This
> is, for example, how gccgo implements some run-time panics.

It' highly OS dependent and not something to rely on for any vaguely-portable code.  We do support it in FreeBSD, but the extra logic caused a slowdown that users objected to when we introduced it and so I can well imagine that other systems would prefer the faster approach - it has some quite nasty interactions with the run-time linker.  From what I recall, at least one of the other UNIX-like systems that we looked at did claim to support it, but got the locking wrong so it worked fine 99% of the time and deadlocked the remaining 1%...

David





More information about the llvm-dev mailing list