Title: [288050] trunk
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)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to