Branch: refs/heads/webkitglib/2.54
  Home:   https://github.com/WebKit/WebKit
  Commit: 028f6ba94be5bce02b1b903131ba5478165f0ae5
      
https://github.com/WebKit/WebKit/commit/028f6ba94be5bce02b1b903131ba5478165f0ae5
  Author: Keith Miller <[email protected]>
  Date:   2026-09-14 (Mon, 14 Sep 2026)

  Changed paths:
    M Source/JavaScriptCore/API/JSClassRef.cpp
    M Source/JavaScriptCore/API/tests/testapi.cpp

  Log Message:
  -----------
  Cherry-pick 316606.72@safari-7625-branch (246fe5217811). 
https://bugs.webkit.org/show_bug.cgi?id=319684

    OpaqueJSClass should retain/release the parent JSClassRef when provided
    https://bugs.webkit.org/show_bug.cgi?id=319684
    rdar://182366602

    Reviewed by Mark Lam.

    We are retain/release-ing the prototype's JSClassRef but not the parent's
    class. We should do so otherwise we could UAF the parent class for some
    API users.

    Test: Source/JavaScriptCore/API/tests/testapi.cpp
 


Identifier:
316606.72@safari-7625-branch

Canonical link: 
https://flagged.apple.com:443/proxy?t2=DH4S5I1Rg7&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE3Njk1LjMwN0B3ZWJraXRnbGliLzIuNTQ=&emid=07c2a714-4a97-4abc-ad3a-ed0b27dce315&c=11


  Commit: 35c413d575a6378682be21be11f2fc1bd3c2e91c
      
https://github.com/WebKit/WebKit/commit/35c413d575a6378682be21be11f2fc1bd3c2e91c
  Author: Shu-yu Guo <[email protected]>
  Date:   2026-09-14 (Mon, 14 Sep 2026)

  Changed paths:
    A JSTests/wasm/stress/atomic-cmpxchg-motion-interference.js
    M Source/JavaScriptCore/b3/B3LowerToAir.cpp

  Log Message:
  -----------
  Cherry-pick 316606.100@safari-7625-branch (1217ca887d85). 
https://bugs.webkit.org/show_bug.cgi?id=319842

    [JSC] Check for interference when moving CAS to Branch in Air
    https://bugs.webkit.org/show_bug.cgi?id=319842
    rdar://182130524

    Reviewed by Marcus Plutowski.

    When lowering B3 to Air, CAS operations with a single Branch consumer can be
  

fused into the Branch or be moved to the Branch site. This motion needs to
    check for interference. Consider the following wasm
snippet:

   
L1: i32.atomic.rmw.cmpxchg
    L2: memory.grow
        <some stuff>
    L3: if

    The cmpxchg in L1 can be moved past the memory.grow in L2 into L3, which is
    incorrect as the Air CAS opcode for L1 may have a stale memory input that
    interferes with the grow in L2.

    This PR adds interference checks for all CAS motions in B3 to Air lowering.

    Test: JSTests/wasm/stress/atomic-cmpxchg-motion-interference.js
    Identifier: 316606.100@safari-7625-branch

Canonical link: 
https://flagged.apple.com:443/proxy?t2=DI3m0c3Mt9&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE3Njk1LjMwOEB3ZWJraXRnbGliLzIuNTQ=&emid=07c2a714-4a97-4abc-ad3a-ed0b27dce315&c=11


  Commit: 13c5c0326a6838d968e80d039ba0e3b6b24754ff
      
https://github.com/WebKit/WebKit/commit/13c5c0326a6838d968e80d039ba0e3b6b24754ff
  Author: Shu-yu
Guo
<[email protected]>
  Date:   2026-09-14 (Mon, 14 Sep 2026)

  Changed paths:
    A
JSTests/stress/spread-set-cross-realm-symbol-iterator-side-effects.js
    M Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
    M
Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

  Log Message:
  -----------
  Cherry-pick 62860f03b72a. https://bugs.webkit.org/show_bug.cgi?id=321705

    [JSC] Fix cross-realm DFG Set spread optimization
    https://bugs.webkit.org/show_bug.cgi?id=321705
    rdar://184821678

    Reviewed by Keith Miller and Mark Lam.

    The DFG optimization for spreading a Set depends on the Set iterator 
protocol
    being intact. This is guarded by a watchpoint. This watchpoint is armed on 
the
    global of the set itself, which is node->child1(). Subsequent optimization
    passes incorrectly depends on the Set structure of node, which corresponds 
to
    the spread operation itself and may be in
a
different realm than the set.

    This PR fixes this by using child1() everywhere to
determine the global.

    Test: JSTests/stress/spread-set-cross-realm-symbol-iterator-side-effects.js

    * JSTests/stress/spread-set-cross-realm-symbol-iterator-side-effects.js: 
Added.
   
(shouldBe):
    * Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:
    (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
    * Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
    * Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
    (JSC::FTL::DFG::LowerDFGToB3::compileSpread):

    Identifier: 316606.361@safari-7625-branch

    Canonical link: 
https://flagged.apple.com:443/proxy?t2=Dv5N6K7zo3&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE2NjA2LjMxMUBzYWZhcmktNzYyNS4xLjI5LjEwLWJyYW5jaA==&emid=07c2a714-4a97-4abc-ad3a-ed0b27dce315&c=11

Canonical link:
https://flagged.apple.com:443/proxy?t2=DU0n1b2uF1&o=aHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMzE3Njk1LjMwOUB3ZWJraXRnbGliLzIuNTQ=&emid=07c2a714-4a97-4abc-ad3a-ed0b27dce315&c=11


Compare: https://github.com/WebKit/WebKit/compare/8f2745d6d7b8...13c5c0326a68

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

Reply via email to