Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 32374014a8567855324ec382378ae3c3145d6cc6
      
https://github.com/WebKit/WebKit/commit/32374014a8567855324ec382378ae3c3145d6cc6
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-01-26 (Mon, 26 Jan 2026)

  Changed paths:
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M 
Source/JavaScriptCore/SaferCPPExpectations/MemoryUnsafeCastCheckerExpectations
    M Source/JavaScriptCore/Sources.txt
    M Source/JavaScriptCore/b3/testb3.h
    M Source/JavaScriptCore/b3/testb3_2.cpp
    M Source/JavaScriptCore/b3/testb3_3.cpp
    M Source/JavaScriptCore/b3/testb3_6.cpp
    M Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp
    M Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h
    A Source/JavaScriptCore/disassembler/ARM64/Binja.c
    A Source/JavaScriptCore/disassembler/ARM64/Binja.h
    A Source/JavaScriptCore/disassembler/ARM64/LICENSE-binja.txt
    A Source/JavaScriptCore/disassembler/ARM64/binja.source.json
    A Source/JavaScriptCore/disassembler/ARM64/binja_impl.c.h

  Log Message:
  -----------
  [JSC] Use BinaryNinja's ARM64 disassembler
https://bugs.webkit.org/show_bug.cgi?id=306242
rdar://168892532

Reviewed by Justin Michaud.

This patch integrates BinaryNinja's ARM64 disassembler[1].
The strength of this is generated by ARM's official machine readable
spec XML. So this disassembler is mechanically generated and covers all
cases described in the spec.

We amalgamate disassembler into one header file, building it in Binja.c,
adding some interface separately and use it from A64DOpcode.cpp. This
way keeps our additional metadata atachment (e.g. JIT PC) still
supported while we replace disassembler engine with this.

This is particularly useful since we start using more and more SIMD
operations in JIT, while our disassembler is not supporting them enough,
and there are hundred of SIMD instructions. We integarate
machine-generated 100% coverage well-tested disassembler instead.

The source code is in [2], distributed under Apache V2 license.
OSS-ID: OSS-30577

[1]: https://binary.ninja/2021/04/05/groundup-aarch64.html
[2]: https://github.com/Vector35/binaryninja-api/tree/dev/arch/arm64

Canonical link: https://commits.webkit.org/306191@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to