Skip to content

Conversation

justinmichaud
Copy link

No description provided.

@justinmichaud
Copy link
Author

This is still a WIP, but here is a screenshot of JSC build with the following patch:

diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
index 1b7690be3268..75b488799f9b 100644
--- a/Source/JavaScriptCore/CMakeLists.txt
+++ b/Source/JavaScriptCore/CMakeLists.txt
@@ -1583,3 +1583,7 @@ endif ()
 if (ENABLE_JAVASCRIPT_SHELL)
   add_subdirectory(shell)
 endif ()
+
+if (ENABLE_DEVELOPER_MODE)
+    WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-DENABLE_OFFLINE_ASM_ALT_ENTRY=1)
+endif ()
diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake
index d8fe55036091..02111681f70b 100644
--- a/Source/cmake/WebKitCompilerFlags.cmake
+++ b/Source/cmake/WebKitCompilerFlags.cmake
@@ -136,6 +136,11 @@ if (DEVELOPER_MODE AND DEVELOPER_MODE_FATAL_WARNINGS)
     endif ()
 endif ()

+if (DEVELOPER_MODE)
+    # This lets us get good backtraces, in particular when using JSC_useGdbJITInfo=1.
+    WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-mthumb -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer)
+endif ()
+
 if (COMPILER_IS_GCC_OR_CLANG)
     if (COMPILER_IS_CLANG OR (DEVELOPER_MODE AND NOT ARM))
         # Split debug information in ".debug_types" / ".debug_info" sections - this leads

It is very important to put linux32 in front of the samply invocation.

Screenshot From 2025-07-07 17-27-27

@mstange
Copy link
Owner

mstange commented Jul 8, 2025

Very cool!

@justinmichaud
Copy link
Author

This requires mstange/framehop#43

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants