Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bd3a0de8c664246c3bad0429c3b6a5347850682d
https://github.com/WebKit/WebKit/commit/bd3a0de8c664246c3bad0429c3b6a5347850682d
Author: Justin Michaud <[email protected]>
Date: 2025-05-20 (Tue, 20 May 2025)
Changed paths:
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
M Source/JavaScriptCore/Sources.txt
M Source/JavaScriptCore/assembler/LinkBuffer.cpp
M Source/JavaScriptCore/assembler/PerfLog.cpp
M Source/JavaScriptCore/assembler/PerfLog.h
A Source/JavaScriptCore/jit/GdbJIT.cpp
A Source/JavaScriptCore/jit/GdbJIT.h
M Source/JavaScriptCore/llint/LowLevelInterpreter.asm
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/runtime/OptionsList.h
M Tools/lldb/lldb_webkit.py
Log Message:
-----------
Support GDB JIT API
https://bugs.webkit.org/show_bug.cgi?id=291834
Reviewed by Yusuke Suzuki.
This adds support for GDB and LLDB to symbolicate backtraces of JIT code. The
dwarf generator mostly comes from V8, with some modifications to imporve
memory safety
and work with WTF. This also adds support for ARM64, ARMv7 and mach-o symbol
tables,
which V8 was lacking.
We also add dwarf info to LLInt on ARM64 / ARMv7 to see through LLInt
frames.
This works by using the default __jit_debug_register_code API; A
previous attempt over a decade ago did this using the custom GDB jit
api, which is also probably a valid approach:
https://bugs.webkit.org/show_bug.cgi?id=75387
This approach was chosen because (a) it is what many other jits do, and
(b) because it might be able to be extended in the future to be useful.
We also force frame pointers when DEVELOPER_MODE is enabled; This might
be somewhat controversial, but it is super important for fast backtraces
when profiling too, so I don't think it is worth the effort to make this
patch support sp-based unwinding.
Canonical link: https://commits.webkit.org/295194@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes