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

Reply via email to