- Revision
- 288050
- Author
- mikh...@igalia.com
- Date
- 2022-01-14 19:14:39 -0800 (Fri, 14 Jan 2022)
Log Message
[JSC] Fix Linux 64bit compilation
https://bugs.webkit.org/show_bug.cgi?id=235232
Reviewed by Saam Barati.
.:
* Source/cmake/OptionsCommon.cmake:
Source/bmalloc:
Add new pas_lenient_compact_ptr related files to CMakeLists.txt too.
* CMakeLists.txt:
* bmalloc/BPlatform.h:
* bmalloc/Gigacage.cpp:
* bmalloc/IsoHeap.cpp:
* bmalloc/IsoHeap.h:
* bmalloc/bmalloc.h:
Source/_javascript_Core:
Define PAS_BMALLOC in all projects since _javascript_Core includes some files which can require this macro variable.
Previously, JSDollarVM.cpp includes these files first, then at that time, we can define PAS_BMALLOC.
However, after enabling jit-heap, these files are included before JSDollarVM.cpp and include pas_config.h without
PAS_BMALLOC definition, which later causes the problem when including pas_lock.h since non PAS_BMALLOC libpas requires
darwin specific locking.
Since defining PAS_BMALLOC does not matter to whether using libpas or not, this patch just defines it globally.
And for Apple ports, we define this when we define BENABLE_LIBPAS.
* tools/JSDollarVM.cpp:
Modified Paths
Diff
Modified: trunk/ChangeLog (288049 => 288050)
--- trunk/ChangeLog 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/ChangeLog 2022-01-15 03:14:39 UTC (rev 288050)
@@ -1,3 +1,12 @@
+2022-01-14 Yusuke Suzuki <ysuz...@apple.com> and Mikhail R. Gadelha <mikh...@igalia.com>
+
+ [JSC] Fix Linux 64bit compilation
+ https://bugs.webkit.org/show_bug.cgi?id=235232
+
+ Reviewed by Saam Barati.
+
+ * Source/cmake/OptionsCommon.cmake:
+
2022-01-13 Alejandro G. Castro <a...@igalia.com>
[GTK][WPE][WebGL2] compilation fixes
Modified: trunk/Source/_javascript_Core/ChangeLog (288049 => 288050)
--- trunk/Source/_javascript_Core/ChangeLog 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/_javascript_Core/ChangeLog 2022-01-15 03:14:39 UTC (rev 288050)
@@ -1,3 +1,21 @@
+2022-01-14 Yusuke Suzuki <ysuz...@apple.com> and Mikhail R. Gadelha <mikh...@igalia.com>
+
+ [JSC] Fix Linux 64bit compilation
+ https://bugs.webkit.org/show_bug.cgi?id=235232
+
+ Reviewed by Saam Barati.
+
+ Define PAS_BMALLOC in all projects since _javascript_Core includes some files which can require this macro variable.
+ Previously, JSDollarVM.cpp includes these files first, then at that time, we can define PAS_BMALLOC.
+ However, after enabling jit-heap, these files are included before JSDollarVM.cpp and include pas_config.h without
+ PAS_BMALLOC definition, which later causes the problem when including pas_lock.h since non PAS_BMALLOC libpas requires
+ darwin specific locking.
+
+ Since defining PAS_BMALLOC does not matter to whether using libpas or not, this patch just defines it globally.
+ And for Apple ports, we define this when we define BENABLE_LIBPAS.
+
+ * tools/JSDollarVM.cpp:
+
2022-01-14 Yusuke Suzuki <ysuz...@apple.com>
[JSC] Fix WebAssembly.Global's typename for "anyfunc"
Modified: trunk/Source/_javascript_Core/tools/JSDollarVM.cpp (288049 => 288050)
--- trunk/Source/_javascript_Core/tools/JSDollarVM.cpp 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/_javascript_Core/tools/JSDollarVM.cpp 2022-01-15 03:14:39 UTC (rev 288050)
@@ -66,9 +66,6 @@
#if !USE(SYSTEM_MALLOC)
#include <bmalloc/BPlatform.h>
#if BUSE(LIBPAS)
-#ifndef PAS_BMALLOC
-#define PAS_BMALLOC 1
-#endif
#include <bmalloc/pas_debug_spectrum.h>
#include <bmalloc/pas_fd_stream.h>
#include <bmalloc/pas_heap_lock.h>
Modified: trunk/Source/bmalloc/CMakeLists.txt (288049 => 288050)
--- trunk/Source/bmalloc/CMakeLists.txt 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/bmalloc/CMakeLists.txt 2022-01-15 03:14:39 UTC (rev 288050)
@@ -6,8 +6,6 @@
"${BMALLOC_DIR}/libpas/src/libpas"
)
-add_definitions(-DPAS_BMALLOC)
-
set(bmalloc_SOURCES
bmalloc/AllIsoHeaps.cpp
bmalloc/Allocator.cpp
@@ -123,6 +121,9 @@
libpas/src/libpas/pas_large_map.c
libpas/src/libpas/pas_large_sharing_pool.c
libpas/src/libpas/pas_large_utility_free_heap.c
+ libpas/src/libpas/pas_lenient_compact_ptr.h
+ libpas/src/libpas/pas_lenient_compact_ptr_inlines.h
+ libpas/src/libpas/pas_lenient_compact_unsigned_ptr.h
libpas/src/libpas/pas_local_allocator.c
libpas/src/libpas/pas_local_allocator_scavenger_data.c
libpas/src/libpas/pas_local_view_cache.c
@@ -494,6 +495,7 @@
libpas/src/libpas/pas_large_sharing_pool_epoch_update_mode.h
libpas/src/libpas/pas_large_sharing_pool.h
libpas/src/libpas/pas_large_utility_free_heap.h
+ libpas/src/libpas/pas_lenient_compact_unsigned_ptr.c
libpas/src/libpas/pas_line_word_config.h
libpas/src/libpas/pas_list_direction.h
libpas/src/libpas/pas_local_allocator_config_kind.h
Modified: trunk/Source/bmalloc/ChangeLog (288049 => 288050)
--- trunk/Source/bmalloc/ChangeLog 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/bmalloc/ChangeLog 2022-01-15 03:14:39 UTC (rev 288050)
@@ -1,3 +1,19 @@
+2022-01-14 Yusuke Suzuki <ysuz...@apple.com> and Mikhail R. Gadelha <mikh...@igalia.com>
+
+ [JSC] Fix Linux 64bit compilation
+ https://bugs.webkit.org/show_bug.cgi?id=235232
+
+ Reviewed by Saam Barati.
+
+ Add new pas_lenient_compact_ptr related files to CMakeLists.txt too.
+
+ * CMakeLists.txt:
+ * bmalloc/BPlatform.h:
+ * bmalloc/Gigacage.cpp:
+ * bmalloc/IsoHeap.cpp:
+ * bmalloc/IsoHeap.h:
+ * bmalloc/bmalloc.h:
+
2022-01-13 Filip Pizlo <fpi...@apple.com>
[libpas] pas_segregated_page_lock_with_mode in try_lock mode should check that the page still uses the lock after the try_lock
Modified: trunk/Source/bmalloc/bmalloc/BPlatform.h (288049 => 288050)
--- trunk/Source/bmalloc/bmalloc/BPlatform.h 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/bmalloc/bmalloc/BPlatform.h 2022-01-15 03:14:39 UTC (rev 288050)
@@ -326,6 +326,9 @@
#if !defined(BENABLE_LIBPAS)
#if BCPU(ADDRESS64) && (BOS(DARWIN) || (BOS(LINUX) && !BPLATFORM(GTK) && !BPLATFORM(WPE)))
#define BENABLE_LIBPAS 1
+#ifndef PAS_BMALLOC
+#define PAS_BMALLOC 1
+#endif
#else
#define BENABLE_LIBPAS 0
#endif
Modified: trunk/Source/bmalloc/bmalloc/Gigacage.cpp (288049 => 288050)
--- trunk/Source/bmalloc/bmalloc/Gigacage.cpp 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/bmalloc/bmalloc/Gigacage.cpp 2022-01-15 03:14:39 UTC (rev 288050)
@@ -40,9 +40,6 @@
#endif
#if BUSE(LIBPAS)
-#ifndef PAS_BMALLOC
-#define PAS_BMALLOC 1
-#endif
#include "iso_heap.h"
#endif
Modified: trunk/Source/bmalloc/bmalloc/IsoHeap.cpp (288049 => 288050)
--- trunk/Source/bmalloc/bmalloc/IsoHeap.cpp 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/bmalloc/bmalloc/IsoHeap.cpp 2022-01-15 03:14:39 UTC (rev 288050)
@@ -27,9 +27,6 @@
#if BUSE(LIBPAS)
-#ifndef PAS_BMALLOC
-#define PAS_BMALLOC 1
-#endif
#include "bmalloc_heap_inlines.h"
#include "IsoMallocFallback.h"
Modified: trunk/Source/bmalloc/bmalloc/IsoHeap.h (288049 => 288050)
--- trunk/Source/bmalloc/bmalloc/IsoHeap.h 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/bmalloc/bmalloc/IsoHeap.h 2022-01-15 03:14:39 UTC (rev 288050)
@@ -29,9 +29,6 @@
#include "Mutex.h"
#if BUSE(LIBPAS)
-#ifndef PAS_BMALLOC
-#define PAS_BMALLOC 1
-#endif
#include "bmalloc_heap_ref.h"
#endif
Modified: trunk/Source/bmalloc/bmalloc/bmalloc.h (288049 => 288050)
--- trunk/Source/bmalloc/bmalloc/bmalloc.h 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/bmalloc/bmalloc/bmalloc.h 2022-01-15 03:14:39 UTC (rev 288050)
@@ -36,9 +36,6 @@
#include "Scavenger.h"
#if BUSE(LIBPAS)
-#ifndef PAS_BMALLOC
-#define PAS_BMALLOC 1
-#endif
#include "bmalloc_heap_inlines.h"
#endif
Modified: trunk/Source/cmake/OptionsCommon.cmake (288049 => 288050)
--- trunk/Source/cmake/OptionsCommon.cmake 2022-01-15 03:11:42 UTC (rev 288049)
+++ trunk/Source/cmake/OptionsCommon.cmake 2022-01-15 03:14:39 UTC (rev 288050)
@@ -4,6 +4,7 @@
add_definitions(-DBUILDING_WITH_CMAKE=1)
add_definitions(-DHAVE_CONFIG_H=1)
+add_definitions(-DPAS_BMALLOC=1)
option(USE_THIN_ARCHIVES "Produce all static libraries as thin archives" ON)
if (USE_THIN_ARCHIVES)