WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
244024
libpas clang 14 warnings
https://bugs.webkit.org/show_bug.cgi?id=244024
Summary
libpas clang 14 warnings
Philippe Normand
Reported
2022-08-17 01:23:18 PDT
In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_aligned_allocation_result.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_allocation_result.h:30: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:916:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_compare_exchange_weak((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ 1 warning generated. [42/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_bitfit_allocator.c.o In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_bitfit_allocator.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_bitfit_allocator.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:916:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_compare_exchange_weak((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ 1 warning generated. [43/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_bitfit_directory.c.o In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_bitfit_directory.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_bitfit_directory.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_bitfit_max_free.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:916:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_compare_exchange_weak((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ 1 warning generated. [96/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_lock_free_read_ptr_ptr_hashtable.c.o In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_lock_free_read_ptr_ptr_hashtable.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_lock_free_read_ptr_ptr_hashtable.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_log.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:989:5: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] __c11_atomic_store((_Atomic pas_pair*)raw_ptr, value, 5); ^ 1 warning generated. [126/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_page_sharing_pool.c.o In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_page_sharing_pool.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_page_sharing_pool.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_bootstrap_free_heap.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_allocation_config.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_allocation_kind.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:916:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_compare_exchange_weak((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ 1 warning generated. [153/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_versioned_field.c.o In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_versioned_field.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_versioned_field.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:916:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_compare_exchange_weak((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:954:5: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] __c11_atomic_compare_exchange_strong((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ 2 warnings generated. [156/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_segregated_directory.c.o In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_directory.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_directory.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_bitvector.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_found_bit_index.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:966:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_load((_Atomic pas_pair*)raw_ptr, 0); ^ /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:954:5: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] __c11_atomic_compare_exchange_strong((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:916:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_compare_exchange_weak((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ 3 warnings generated. [159/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_segregated_page.c.o In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_page.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_page.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_allocator_index.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:999:5: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] __c11_atomic_store((_Atomic pas_pair*)raw_ptr, value, 0); ^ 1 warning generated. [170/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_segregated_shared_page_directory.c.o /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c:102:1624: warning: expression result unused [-Wunused-value] ({ const _Bool _verbose = 0; pas_segregated_directory* _directory; pas_segregated_directory_bit_reference _reference; _Bool _value; _Bool _result; _directory = (config->directory); _reference = (config->bit_reference); _value = (0); do { if (!0) break; if (__builtin_expect(!!(!pas_segregated_directory_bit_reference_is_null(_reference)), 1)) break; pas_assertion_failed_noreturn_silencer("/app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c", 103, __PRETTY_FUNCTION__, "!pas_segregated_directory_bit_reference_is_null(_reference)"); } while (0); if (pas_segregated_directory_bit_reference_is_inline(_reference)) { for (;;) { unsigned old_bits; unsigned new_bits; old_bits = _directory->bits; if (_value) new_bits = old_bits | (1u << 0u); else new_bits = old_bits & ~(1u << 0u); if (old_bits == new_bits) { _result = 0; break; } if (pas_compare_and_swap_uint32_weak(&_directory->bits, old_bits, new_bits)) { _result = 1; break; } } } else { for (;;) { unsigned old_bits; unsigned new_bits; old_bits = _reference.segment_ptr->eligible_bits; if (_value) new_bits = old_bits | _reference.mask; else new_bits = old_bits & ~_reference.mask; if (old_bits == new_bits) { _result = 0; break; } if (pas_compare_and_swap_uint32_weak( &_reference.segment_ptr->eligible_bits, old_bits, new_bits)) { _result = 1; break; } } } if (_verbose && _result) { pas_log("%p[%s, %zu]: setting (ref) to %s at %s:%d %s\n", _directory, "eligible", _reference.index, _value ? "true" : "false", "/app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c", 103, __PRETTY_FUNCTION__); } _result; }); ^~~~~~~ /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c:391:1595: warning: expression result unused [-Wunused-value] ({ const _Bool _verbose = 0; pas_segregated_directory* _directory; pas_segregated_directory_bit_reference _reference; _Bool _value; _Bool _result; _directory = (directory); _reference = (bit_reference); _value = (0); do { if (!0) break; if (__builtin_expect(!!(!pas_segregated_directory_bit_reference_is_null(_reference)), 1)) break; pas_assertion_failed_noreturn_silencer("/app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c", 391, __PRETTY_FUNCTION__, "!pas_segregated_directory_bit_reference_is_null(_reference)"); } while (0); if (pas_segregated_directory_bit_reference_is_inline(_reference)) { for (;;) { unsigned old_bits; unsigned new_bits; old_bits = _directory->bits; if (_value) new_bits = old_bits | (1u << 1u); else new_bits = old_bits & ~(1u << 1u); if (old_bits == new_bits) { _result = 0; break; } if (pas_compare_and_swap_uint32_weak(&_directory->bits, old_bits, new_bits)) { _result = 1; break; } } } else { for (;;) { unsigned old_bits; unsigned new_bits; old_bits = _reference.segment_ptr->empty_bits; if (_value) new_bits = old_bits | _reference.mask; else new_bits = old_bits & ~_reference.mask; if (old_bits == new_bits) { _result = 0; break; } if (pas_compare_and_swap_uint32_weak( &_reference.segment_ptr->empty_bits, old_bits, new_bits)) { _result = 1; break; } } } if (_verbose && _result) { pas_log("%p[%s, %zu]: setting (ref) to %s at %s:%d %s\n", _directory, "empty", _reference.index, _value ? "true" : "false", "/app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c", 391, __PRETTY_FUNCTION__); } _result; }); ^~~~~~~ In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_shared_page_directory.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_directory.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_bitvector.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_found_bit_index.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:916:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_compare_exchange_weak((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ 3 warnings generated. [173/2125] Building C object Source/bmalloc/CMakeFiles/bmalloc.dir/libpas/src/libpas/pas_segregated_size_directory.c.o /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_size_directory.c:731:1188: warning: expression result unused [-Wunused-value] ({ const _Bool _verbose = 0; pas_segregated_directory* _directory; size_t _index; unsigned* _word_ptr; _Bool _value; _Bool _result; _directory = (directory); _index = (index); _value = (0); do { if (!0) break; if (__builtin_expect(!!(_index < pas_segregated_directory_size(directory)), 1)) break; pas_assertion_failed_noreturn_silencer("/app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_size_directory.c", 731, __PRETTY_FUNCTION__, "_index < pas_segregated_directory_size(directory)"); } while (0); if (!_index) { _result = pas_segregated_directory_bits_set_by_mask( _directory, (1u << 1u), _value); } else { size_t _adjusted_index; _adjusted_index = _index - 1; _word_ptr = &pas_segregated_directory_segmented_bitvectors_get_ptr( &pas_segregated_directory_data_ptr_load_non_null(&_directory->data)->bitvectors, ((_adjusted_index) >> 5))->empty_bits; _result = pas_bitvector_set_atomic_in_word(_word_ptr, _adjusted_index, _value); } if (_verbose && _result) { pas_log("%p[%s, %zu]: set to %s at %s:%d %s\n", _directory, "empty", _index, _value ? "true" : "false", "/app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_size_directory.c", 731, __PRETTY_FUNCTION__); } _result; }); ^~~~~~~ In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_size_directory.c:30: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_segregated_size_directory.h:29: In file included from /app/webkit/Source/bmalloc/libpas/src/libpas/pas_allocator_index.h:29: /app/webkit/Source/bmalloc/libpas/src/libpas/pas_utils.h:916:12: warning: large atomic operation may incur significant performance penalty; the access size (16 bytes) exceeds the max lock-free size (8 bytes) [-Watomic-alignment] return __c11_atomic_compare_exchange_weak((_Atomic pas_pair*)raw_ptr, &old_value, new_value, 5, 5); ^ 2 warnings generated.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2022-08-24 01:25:01 PDT
<
rdar://problem/99073501
>
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