WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
234333
[libpas] Implement atomics in inline assembly if compiler is using ARM64
https://bugs.webkit.org/show_bug.cgi?id=234333
Summary
[libpas] Implement atomics in inline assembly if compiler is using ARM64
Yusuke Suzuki
Reported
2021-12-14 19:50:43 PST
[libpas] Implement atomics in inline assembly if compiler is using ARM64
Attachments
Patch
(23.35 KB, patch)
2021-12-14 19:57 PST
,
Yusuke Suzuki
no flags
Details
Formatted Diff
Diff
Patch
(23.35 KB, patch)
2021-12-14 20:16 PST
,
Yusuke Suzuki
no flags
Details
Formatted Diff
Diff
Patch
(23.35 KB, patch)
2021-12-15 04:36 PST
,
Yusuke Suzuki
fpizlo
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Yusuke Suzuki
Comment 1
2021-12-14 19:57:11 PST
Created
attachment 447194
[details]
Patch
Yusuke Suzuki
Comment 2
2021-12-14 20:16:50 PST
Created
attachment 447197
[details]
Patch
Yusuke Suzuki
Comment 3
2021-12-15 04:36:42 PST
Created
attachment 447222
[details]
Patch
Filip Pizlo
Comment 4
2021-12-15 10:02:07 PST
Comment on
attachment 447222
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=447222&action=review
I'm not sure how much I care, but it would be nice if store_atomic was a pas_utils thing.
> Source/bmalloc/libpas/src/libpas/pas_lock.h:116 > #if PAS_COMPILER(CLANG) > +#if PAS_COMPILER(CLANG_ARM64_ATOMICS_DEPENDENCY) > + asm volatile ( > + "stlrb wzr, [%x[ptr]]\t\n" > + /* outputs */ : > + /* inputs */ : [ptr]"r"(&lock->lock) > + /* clobbers */ : "memory" > + ); > +#else > __c11_atomic_store((_Atomic bool*)&lock->lock, false, __ATOMIC_SEQ_CST); > +#endif > #else > __atomic_store_n((bool*)&lock->lock, false, __ATOMIC_SEQ_CST); > #endif
I think it would be way better if this atomic store thing was factored out into pas_utils.h.
Yusuke Suzuki
Comment 5
2021-12-15 11:29:18 PST
Comment on
attachment 447222
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=447222&action=review
>> Source/bmalloc/libpas/src/libpas/pas_lock.h:116 >> #endif > > I think it would be way better if this atomic store thing was factored out into pas_utils.h.
OK! Extracted atomic part.
Yusuke Suzuki
Comment 6
2021-12-15 11:46:46 PST
Committed
r287092
(
245284@trunk
): <
https://commits.webkit.org/245284@trunk
>
Radar WebKit Bug Importer
Comment 7
2021-12-15 11:47:41 PST
<
rdar://problem/86535186
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug