Bug 126105

Summary: Replace yield() and pauseBriefly() with std::this_thread::yield()
Product: WebKit Reporter: Anders Carlsson <andersca>
Component: New BugsAssignee: Anders Carlsson <andersca>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, cmarcelo, commit-queue, p.jacquemart
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 126222    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
attempt to reland
none
wrong patch uploaded before none

Description Anders Carlsson 2013-12-20 18:34:42 PST
Replace yield() and pauseBriefly() with std::this_thread::yield()
Comment 1 Anders Carlsson 2013-12-20 18:36:55 PST
Created attachment 219824 [details]
Patch
Comment 2 WebKit Commit Bot 2013-12-20 21:19:49 PST
Comment on attachment 219824 [details]
Patch

Clearing flags on attachment: 219824

Committed r160959: <http://trac.webkit.org/changeset/160959>
Comment 3 WebKit Commit Bot 2013-12-20 21:19:51 PST
All reviewed patches have been landed.  Closing bug.
Comment 4 WebKit Commit Bot 2013-12-24 12:59:04 PST
Re-opened since this is blocked by bug 126222
Comment 5 Roger Fong 2013-12-30 12:53:39 PST
Created attachment 220121 [details]
attempt to reland

windows build fix has been landed, attempting to reland this patch
Comment 6 Roger Fong 2013-12-30 14:00:57 PST
Created attachment 220126 [details]
wrong patch uploaded before
Comment 7 WebKit Commit Bot 2013-12-30 18:03:11 PST
Comment on attachment 220126 [details]
wrong patch uploaded before

Clearing flags on attachment: 220126

Committed r161164: <http://trac.webkit.org/changeset/161164>
Comment 8 WebKit Commit Bot 2013-12-30 18:03:14 PST
All reviewed patches have been landed.  Closing bug.
Comment 9 Pascal Jacquemart 2014-01-06 10:14:02 PST
Hi,

I understand the commit but unfortunately it seems to break our cross compilation for ARM

This is a silly issue in ARM toolchain (based gcc 4.7.4) since this std::this_thread::yield() is defined under compilation flags which are not set by the compiler

A simple but dirty solution was to add those flags into
Source/autotools/SetupCompilerFlags.m4

Are you aware about such compilation issue?
Do you see a more appropriate location to stuff these flags?

Thanks,               Pascal Jacquemart
Comment 10 Anders Carlsson 2014-01-06 10:18:25 PST
(In reply to comment #9)
> Hi,
> 
> I understand the commit but unfortunately it seems to break our cross compilation for ARM
> 
> This is a silly issue in ARM toolchain (based gcc 4.7.4) since this std::this_thread::yield() is defined under compilation flags which are not set by the compiler
> 
> A simple but dirty solution was to add those flags into
> Source/autotools/SetupCompilerFlags.m4
> 
> Are you aware about such compilation issue?
> Do you see a more appropriate location to stuff these flags?
> 

I'm not aware of this problem existing on other platforms. Putting the workaround in SetupCompilerFlags.m4 sounds sensible to me.