Repository navigation
ci: cover i386 and ClangCL for the AVX2-dispatch guard; drop dead _M_X64 #144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 10 commits
9907f6b
4881bf0
b4305aa
e2d1506
562b0cb
4e8632b
5bbff5d
71b4fa3
fd5d72d
212fa77
48ef6b6
87fc814
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -68,10 +68,10 @@ struct hdr_histogram* hdr_interval_recorder_sample_and_recycle( | |
| hdr_phaser_reader_lock(&r->phaser); | ||
|
|
||
| /* volatile read */ | ||
| old_active = hdr_atomic_load_pointer(&r->active); | ||
| old_active = hdr_atomic_load_pointer((void**) &r->active); | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. WDYT about changing the atomic helpers' types instead of casting here (and line 74)? Both
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good call — done in Rather than casting at the call sites, I made the two remaining branches (MSVC and the x86_64 asm fallback) type-generic macros to match the |
||
|
|
||
| /* volatile write */ | ||
| hdr_atomic_store_pointer(&r->active, histogram_to_recycle); | ||
| hdr_atomic_store_pointer((void**) &r->active, histogram_to_recycle); | ||
|
|
||
| hdr_phaser_flip_phase(&r->phaser, 0); | ||
|
|
||
|
|
@@ -93,7 +93,7 @@ static void hdr_interval_recorder_update( | |
| { | ||
| int64_t val = hdr_phaser_writer_enter(&r->phaser); | ||
|
|
||
| void* active = hdr_atomic_load_pointer(&r->active); | ||
| void* active = hdr_atomic_load_pointer((void**) &r->active); | ||
|
|
||
| update_action(active, arg); | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should remove the comment (won't make sense after merging)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trimmed in
48ef6b6to a single durable line —/* _BitScanReverse writes an unsigned long */— dropping the clang-cl/PR-context framing. Kept a one-liner rather than removing it entirely so theunsigned long(notuint32_t) choice doesn't get "cleaned up" back into a clang-cl hard error later; matches @mikeb01's terse-why style. Shout if you'd rather it go completely.