Bug 142649 - Change the DFG crashLock to use std::atomic.
Summary: Change the DFG crashLock to use std::atomic.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Lam
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-12 18:02 PDT by Mark Lam
Modified: 2015-03-12 20:02 PDT (History)
7 users (show)

See Also:


Attachments
the patch. (1.41 KB, patch)
2015-03-12 18:15 PDT, Mark Lam
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.