Bug 142649

Summary: Change the DFG crashLock to use std::atomic.
Product: WebKit Reporter: Mark Lam <mark.lam>
Component: JavaScriptCoreAssignee: Mark Lam <mark.lam>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, commit-queue, fpizlo, ggaren, mhahnenb, mmirman, msaboff
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
the patch. none

Description Mark Lam 2015-03-12 18:02:53 PDT
Let's use C++11.
Comment 1 Mark Lam 2015-03-12 18:15:47 PDT
Created attachment 248560 [details]
the patch.
Comment 2 Filip Pizlo 2015-03-12 19:14:16 PDT
Comment on attachment 248560 [details]
the patch.

This is broken - the compare_and_exchange will set expected to 1 if it fails.
Comment 3 Filip Pizlo 2015-03-12 19:19:04 PDT
Comment on attachment 248560 [details]
the patch.

Never mind, I misread the code.

I really don't like the API that has expected be a reference.  This is just massively broken for most of our uses of CAS (and indeed for most sensible uses of CAS in general...).  Can we have a wrapper for std::atomic that has a more sensible API, where expected is not a reference?
Comment 4 WebKit Commit Bot 2015-03-12 20:02:48 PDT
Comment on attachment 248560 [details]
the patch.

Clearing flags on attachment: 248560

Committed r181469: <http://trac.webkit.org/changeset/181469>
Comment 5 WebKit Commit Bot 2015-03-12 20:02:54 PDT
All reviewed patches have been landed.  Closing bug.