Source/WTF/wtf/Atomics.h currently has atomicIncrement and atomicDecrement for adding and subtracting 1 atomically, but there is no way to add and subtract other values atomically using WTF. This is needed in cases like Source/WTF/wtf/text/StringImpl.h line 584, which increments a value by 2. I added atomicAdd and atomicSubtract and tested it on Mac, but I'd prefer someone try this on Windows before reviewing in case I forgot something Windows-specific.
Created attachment 201278 [details] Patch
Comment on attachment 201278 [details] Patch (In reply to comment #0) > Source/WTF/wtf/Atomics.h currently has atomicIncrement and atomicDecrement for adding and subtracting 1 atomically, but there is no way to add and subtract other values atomically using WTF. This is needed in cases like Source/WTF/wtf/text/StringImpl.h line 584, which increments a value by 2. > > I added atomicAdd and atomicSubtract and tested it on Mac, but I'd prefer someone try this on Windows before reviewing in case I forgot something Windows-specific. StringImpl does not use atomic ref-deref. What is this for?