Bug 178049

Summary: [Linux] Use futex directly for WordLock
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: WebKit Misc.Assignee: Yusuke Suzuki <ysuzuki>
Status: NEW    
Severity: Normal CC: fpizlo, mark.lam, saam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Yusuke Suzuki
Reported 2017-10-07 05:16:59 PDT
Let's use futex directly for WordLock.
Attachments
Patch (12.36 KB, patch)
2017-10-07 05:18 PDT, Yusuke Suzuki
no flags
Yusuke Suzuki
Comment 1 2017-10-07 05:18:16 PDT
Yusuke Suzuki
Comment 2 2017-10-07 05:22:31 PDT
WIP. Super simple implementation. It just uses upper most bit for isLockedBit. And using the other 31bit for futexing threads counting. The problem is that it only accepts 31bit threads... I'm not sure this is ok for bmalloc/WTF requirement. If it is not acceptable, we should make this unsigned meaning to, 0: unlocked, 1: locked, 2: locked, and having pending threads as it can be seen in https://www.akkadia.org/drepper/futex.pdf.
Note You need to log in before you can comment on or make changes to this bug.