As I'm delving deeper into multithreaded code, the lack of proper lifting for atomic operations is starting to become a bit of a problem.
Some examples:
There's no obvious indicator that these are actually lock cmpxchg and lock inc respectively. You'd only realize that if you switch over to disassembly. This can lead to bugs if I start writing code that interoperates with the decompiled code in question but doesn't do operations atomically because I missed that detail.
(Is this already tracked somewhere? I seem to recall it being discussed on other issues, but couldn't find anything.)
As I'm delving deeper into multithreaded code, the lack of proper lifting for atomic operations is starting to become a bit of a problem.
Some examples:
There's no obvious indicator that these are actually
lock cmpxchg
andlock inc
respectively. You'd only realize that if you switch over to disassembly. This can lead to bugs if I start writing code that interoperates with the decompiled code in question but doesn't do operations atomically because I missed that detail.(Is this already tracked somewhere? I seem to recall it being discussed on other issues, but couldn't find anything.)