Bug 149438 - Always use the compiler's CAS implementation and get rid of ENABLE(COMPARE_AND_SWAP)
Summary: Always use the compiler's CAS implementation and get rid of ENABLE(COMPARE_AN...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Template Framework (show other bugs)
Version: Other
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 149436
  Show dependency treegraph
 
Reported: 2015-09-21 18:05 PDT by Filip Pizlo
Modified: 2015-09-21 21:34 PDT (History)
12 users (show)

See Also:


Attachments
the patch (12.60 KB, patch)
2015-09-21 18:12 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch (13.21 KB, patch)
2015-09-21 18:29 PDT, Filip Pizlo
mark.lam: review+
Details | Formatted Diff | Diff
patch for landing (13.29 KB, patch)
2015-09-21 21:01 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-09-21 18:05:18 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2015-09-21 18:12:55 PDT
Created attachment 261710 [details]
the patch
Comment 2 Filip Pizlo 2015-09-21 18:29:51 PDT
Created attachment 261712 [details]
the patch
Comment 3 Mark Lam 2015-09-21 19:33:25 PDT
Comment on attachment 261712 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=261712&action=review

r=me with build fix.

> Source/WebCore/platform/text/TextBreakIterator.cpp:815
>      return WTF::weakCompareAndSwap(reinterpret_cast<void**>(&nonSharedCharacterBreakIterator), expected, newValue);

I think if you remove the reinterpret_cast here, the build breakage will be fixed.
Comment 4 Filip Pizlo 2015-09-21 21:00:45 PDT
(In reply to comment #3)
> Comment on attachment 261712 [details]
> the patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=261712&action=review
> 
> r=me with build fix.
> 
> > Source/WebCore/platform/text/TextBreakIterator.cpp:815
> >      return WTF::weakCompareAndSwap(reinterpret_cast<void**>(&nonSharedCharacterBreakIterator), expected, newValue);
> 
> I think if you remove the reinterpret_cast here, the build breakage will be
> fixed.

Yup, that worked!
Comment 5 Filip Pizlo 2015-09-21 21:01:27 PDT
Created attachment 261719 [details]
patch for landing
Comment 6 Filip Pizlo 2015-09-21 21:34:56 PDT
Landed in http://trac.webkit.org/changeset/190103