Diff
Modified: trunk/Source/bmalloc/ChangeLog (289723 => 289724)
--- trunk/Source/bmalloc/ChangeLog 2022-02-14 03:49:00 UTC (rev 289723)
+++ trunk/Source/bmalloc/ChangeLog 2022-02-14 05:14:35 UTC (rev 289724)
@@ -1,3 +1,21 @@
+2022-02-13 Yusuke Suzuki <ysuz...@apple.com>
+
+ Unreviewed, fix Linux build of libpas
+ https://bugs.webkit.org/show_bug.cgi?id=235347
+
+ * libpas/src/libpas/pas_committed_pages_vector.c:
+ (pas_committed_pages_vector_construct):
+ * libpas/src/libpas/pas_committed_pages_vector.h:
+ (pas_committed_pages_vector_is_committed):
+ * libpas/src/libpas/pas_local_view_cache.h:
+ (pas_local_view_cache_prepare_to_pop):
+ * libpas/src/libpas/pas_segregated_heap.c:
+ (pas_segregated_heap_ensure_allocator_index):
+ * libpas/src/libpas/pas_thread_local_cache.c:
+ (stop_allocator):
+ * libpas/src/libpas/pas_try_allocate_primitive.h:
+ (pas_try_allocate_primitive_impl_casual_case):
+
2022-02-12 Brandon Stewart <brandonstew...@apple.com>
Fix typos in libpas docs
Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c (289723 => 289724)
--- trunk/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c 2022-02-14 03:49:00 UTC (rev 289723)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c 2022-02-14 05:14:35 UTC (rev 289724)
@@ -55,7 +55,11 @@
num_pages, "pas_committed_pages_vector/raw_data", pas_object_allocation, allocation_config->arg);
vector->size = num_pages;
+#if PAS_OS(LINUX)
+ PAS_SYSCALL(mincore(object, size, (unsigned char*)vector->raw_data));
+#else
PAS_SYSCALL(mincore(object, size, vector->raw_data));
+#endif
}
void pas_committed_pages_vector_destruct(pas_committed_pages_vector* vector,
Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h (289723 => 289724)
--- trunk/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h 2022-02-14 03:49:00 UTC (rev 289723)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h 2022-02-14 05:14:35 UTC (rev 289724)
@@ -54,10 +54,14 @@
size_t page_index)
{
PAS_ASSERT(page_index < vector->size);
+#if PAS_OS(LINUX)
+ return vector->raw_data[page_index];
+#else
return vector->raw_data[page_index] & (MINCORE_REFERENCED |
MINCORE_REFERENCED_OTHER |
MINCORE_MODIFIED_OTHER |
MINCORE_MODIFIED);
+#endif
}
PAS_API size_t pas_committed_pages_vector_count_committed(pas_committed_pages_vector* vector);
Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_local_view_cache.h (289723 => 289724)
--- trunk/Source/bmalloc/libpas/src/libpas/pas_local_view_cache.h 2022-02-14 03:49:00 UTC (rev 289723)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_local_view_cache.h 2022-02-14 05:14:35 UTC (rev 289724)
@@ -118,6 +118,7 @@
case pas_local_view_cache_not_full_state:
return false;
}
+ return false;
}
static inline bool pas_local_view_cache_prepare_to_push(pas_local_view_cache* cache)
Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_segregated_heap.c (289723 => 289724)
--- trunk/Source/bmalloc/libpas/src/libpas/pas_segregated_heap.c 2022-02-14 03:49:00 UTC (rev 289723)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_segregated_heap.c 2022-02-14 05:14:35 UTC (rev 289724)
@@ -867,7 +867,7 @@
PAS_ASSERT(!pas_heap_config_is_utility(config));
if (verbose)
- pas_log("%p: In pas_segregated_heap_ensure_allocator_index, size = %zu\n", pthread_self(), size);
+ pas_log("%p: In pas_segregated_heap_ensure_allocator_index, size = %zu\n", (void*)pthread_self(), size);
index = pas_segregated_heap_index_for_size(size, *config);
if (verbose)
pas_log("index = %zu\n", index);
Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.c (289723 => 289724)
--- trunk/Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.c 2022-02-14 03:49:00 UTC (rev 289723)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_thread_local_cache.c 2022-02-14 05:14:35 UTC (rev 289724)
@@ -984,6 +984,8 @@
if (!pas_local_allocator_scavenger_data_stop(
scavenger_data, pas_lock_lock_mode_try_lock, pas_lock_is_held))
*result = true;
+#else
+ UNUSED_PARAM(did_suspend);
#endif
}
Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_try_allocate_primitive.h (289723 => 289724)
--- trunk/Source/bmalloc/libpas/src/libpas/pas_try_allocate_primitive.h 2022-02-14 03:49:00 UTC (rev 289723)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_try_allocate_primitive.h 2022-02-14 05:14:35 UTC (rev 289724)
@@ -82,7 +82,7 @@
the more interesting part, since */
if (verbose)
- pas_log("%p: getting allocator index.\n", pthread_self());
+ pas_log("%p: getting allocator index.\n", (void*)pthread_self());
if (index == heap_ref->cached_index) {
if (verbose)
@@ -116,7 +116,7 @@
allocator_index, config.config_ptr);
if (verbose && !allocator.did_succeed)
- pas_log("%p: Failed to quickly get the allocator, allocator_index = %u.\n", pthread_self(), allocator_index);
+ pas_log("%p: Failed to quickly get the allocator, allocator_index = %u.\n", (void*)pthread_self(), allocator_index);
/* This should be specialized out in the non-alignment case because of ALWAYS_INLINE and
alignment being the constant 1. */