Branch: refs/heads/webkitglib/2.48
  Home:   https://github.com/WebKit/WebKit
  Commit: d7fbe50cbcb3887731aced7762b472937bf35e49
      
https://github.com/WebKit/WebKit/commit/d7fbe50cbcb3887731aced7762b472937bf35e49
  Author: Michael Catanzaro <mcatanz...@redhat.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M Source/JavaScriptCore/wasm/WasmTypeDefinition.h

  Log Message:
  -----------
  Suppress -Wunused-private-field warning in WasmTypeDefinition.h

Unreviewed stable branch commit.

This appears to be an LLVM bug, since the field is definitely used. The
bug does not occur on the main branch, so no sense in thinking too much
about it.

* Source/JavaScriptCore/wasm/WasmTypeDefinition.h:


  Commit: a82e29688153935b81e08fd0554b32a6d4422475
      
https://github.com/WebKit/WebKit/commit/a82e29688153935b81e08fd0554b32a6d4422475
  Author: Chris Dumez <cdu...@apple.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp
    M Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h

  Log Message:
  -----------
  Cherry-pick 283286.613@safari-7620-branch (5b3e0da4e98b). 
https://bugs.webkit.org/show_bug.cgi?id=285853

    [Hardening] Validate transaction type on release builds in 
MemoryIDBBackingStore.cpp
    https://bugs.webkit.org/show_bug.cgi?id=285853
    rdar://142170053

    Reviewed by Sihui Liu.

    Validate transaction type on release builds in MemoryIDBBackingStore.cpp 
since IPC
    sent by a compromised WebProcess could cause this to happen, which would 
lead to
    corruption.

    * Source/WebCore/Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
    (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
    (WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
    (WebCore::IDBServer::MemoryIDBBackingStore::renameObjectStore):
    (WebCore::IDBServer::MemoryIDBBackingStore::createIndex):
    (WebCore::IDBServer::MemoryIDBBackingStore::deleteIndex):
    (WebCore::IDBServer::MemoryIDBBackingStore::renameIndex):
    * Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
    (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
    (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
    (WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameObjectStore):
    (WebCore::IDBServer::UniqueIDBDatabaseTransaction::createIndex):
    (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteIndex):
    (WebCore::IDBServer::UniqueIDBDatabaseTransaction::renameIndex):
    * Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
    (WebKit::NetworkStorageManager::createIndex):
    (WebKit::NetworkStorageManager::deleteIndex):
    (WebKit::NetworkStorageManager::renameIndex):

    Canonical link: https://commits.webkit.org/283286.613@safari-7620-branch

    Canonical link: https://commits.webkit.org/289651.17@safari-7621-branch


  Commit: 283d3b87e584de87b7391e47818ccea0f1bd90fd
      
https://github.com/WebKit/WebKit/commit/283d3b87e584de87b7391e47818ccea0f1bd90fd
  Author: Keith Miller <keith_mil...@apple.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    A JSTests/wasm/stress/js-to-wasm-calls-wrong-memory-mode.js
    M Source/JavaScriptCore/interpreter/CalleeBits.h
    M Source/JavaScriptCore/jsc.cpp
    M Source/JavaScriptCore/llint/WebAssembly.asm
    M Source/JavaScriptCore/offlineasm/arm64.rb
    M Source/JavaScriptCore/offlineasm/cloop.rb
    M Source/JavaScriptCore/offlineasm/instructions.rb
    M Source/JavaScriptCore/offlineasm/x86.rb
    M Source/JavaScriptCore/runtime/NativeCallee.h
    M Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
    M Source/JavaScriptCore/wasm/WasmCallee.cpp
    M Source/JavaScriptCore/wasm/WasmCallee.h
    M Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp
    M Source/JavaScriptCore/wasm/WasmFormat.h
    M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp
    M Source/JavaScriptCore/wasm/WasmMemory.cpp
    M Source/JavaScriptCore/wasm/WasmMemory.h
    M Source/JavaScriptCore/wasm/WasmOMGPlan.cpp
    M Source/JavaScriptCore/wasm/WasmOperations.cpp
    M Source/JavaScriptCore/wasm/js/JSToWasm.cpp
    M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp
    M Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp
    M Source/JavaScriptCore/wasm/js/WebAssemblyFunction.h
    M Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.cpp
    M Source/JavaScriptCore/wasm/js/WebAssemblyMemoryConstructor.h
    M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp

  Log Message:
  -----------
  Cherry-pick 289651.47@safari-7621-branch (8f74b8980eba). 
https://bugs.webkit.org/show_bug.cgi?id=286946

    JSToWasm non-IC entrypoints should load the entry point the same way as the 
IC.
    https://bugs.webkit.org/show_bug.cgi?id=286946
    rdar://143456523

    Reviewed by Yusuke Suzuki.

    Right now when we tier up a function to BBQ/OMG we set the 
JSEntrypointCallee's entrypoint
    to the prologue of the newly compiled code. This is wrong because we share 
JSEntrypointCallee
    between BoundsChecking and Signaling instances. This means if tier up a 
Signaling instance to
    we could inadvertently call the Signaling code from a BoundsChecking 
instance.

    To fix this the interpreted/shared JIT JSToWasm entrypoints now do the same 
logic as the
    inline cache entrypoint and load the callee's entrypoint from the indirect 
location. This
    means we need to keep the JS WebAssemblyFunction until we're basically 
ready to call the
    into wasm.

    Finally, since there's basically no scratches left I added a 
BoxedNativeCalleePtrTraits
    so the Ref<> of the target Callee can be saved as a boxed pointer rather 
than as a raw
    pointer. So now we no longer need to box the callee at runtime.

    * Source/JavaScriptCore/interpreter/CalleeBits.h:
    (JSC::CalleeBits::CalleeBits):
    (JSC::CalleeBits::operator=):
    (JSC::CalleeBits::operator bool const):
    * Source/JavaScriptCore/llint/WebAssembly.asm:
    * Source/JavaScriptCore/offlineasm/arm64.rb:
    * Source/JavaScriptCore/offlineasm/cloop.rb:
    * Source/JavaScriptCore/offlineasm/instructions.rb:
    * Source/JavaScriptCore/offlineasm/x86.rb:
    * Source/JavaScriptCore/runtime/NativeCallee.h:
    (JSC::BoxedNativeCalleePtrTraits::unwrap):
    (JSC::BoxedNativeCalleePtrTraits::exchange):
    * Source/JavaScriptCore/wasm/WasmBBQPlan.cpp:
    (JSC::Wasm::BBQPlan::compileFunction):
    * Source/JavaScriptCore/wasm/WasmCallee.cpp:
    (JSC::Wasm::JSEntrypointCallee::JSEntrypointCallee):
    * Source/JavaScriptCore/wasm/WasmCallee.h:
    * Source/JavaScriptCore/wasm/WasmCalleeGroup.cpp:
    (JSC::Wasm::CalleeGroup::isBBQCalleeFromThisGroup const):
    (JSC::Wasm::CalleeGroup::updateCallsitesToCallUs):
    * Source/JavaScriptCore/wasm/WasmCalleeGroup.h:
    * Source/JavaScriptCore/wasm/WasmFormat.h:
    * Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp:
    (JSC::IPInt::jitCompileAndSetHeuristics):
    * Source/JavaScriptCore/wasm/WasmOMGPlan.cpp:
    (JSC::Wasm::OMGPlan::work):
    * Source/JavaScriptCore/wasm/WasmOperations.cpp:
    (JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
    (JSC::Wasm::JSC_DEFINE_NOEXCEPT_JIT_OPERATION):
    * Source/JavaScriptCore/wasm/js/JSToWasm.cpp:
    (JSC::Wasm::createJSToWasmJITShared):
    * Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp:
    (JSC::JSWebAssemblyInstance::initElementSegment):
    * Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:
    (JSC::WebAssemblyFunction::create):
    (JSC::WebAssemblyFunction::WebAssemblyFunction):
    (JSC::m_frameSize):
    (): Deleted.
    * Source/JavaScriptCore/wasm/js/WebAssemblyFunction.h:
    * Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:
    (JSC::WebAssemblyModuleRecord::initializeExports):

    Canonical link: https://commits.webkit.org/289651.47@safari-7621-branch


  Commit: 943d0ab40164ca814541c434135d321b1146d1e7
      
https://github.com/WebKit/WebKit/commit/943d0ab40164ca814541c434135d321b1146d1e7
  Author: Daniel Liu <daniel_l...@apple.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M Source/JavaScriptCore/yarr/YarrParser.h
    M Source/JavaScriptCore/yarr/YarrPattern.cpp
    M Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp
    M Source/WebCore/contentextensions/URLFilterParser.cpp

  Log Message:
  -----------
  Cherry-pick 289651.81@safari-7621-branch (84bb07bd2a22). 
https://bugs.webkit.org/show_bug.cgi?id=287185

    Allow YarrParser delegates to terminate the parser upon reaching an error
    https://bugs.webkit.org/show_bug.cgi?id=287185
    rdar://144252733

    Reviewed by Mark Lam.

    When a syntax error occurs in YarrPatternConstructor, there are cases
    where the pattern constructor does not properly add terms to the
    disjunction, since the pattern is invalid. Thus, we should terminate
    pattern construction to avoid transformations on bad internal state.

    * Source/JavaScriptCore/yarr/YarrParser.h:
    (JSC::Yarr::Parser::parseTokens):
    (JSC::Yarr::Parser::parse):
    * Source/JavaScriptCore/yarr/YarrPattern.cpp:
    (JSC::Yarr::CharacterClassConstructor::hasInvertedStrings):
    (JSC::Yarr::YarrPatternConstructor::atomCharacterClassEnd):
    (JSC::Yarr::YarrPatternConstructor::copyDisjunction):
    (JSC::Yarr::YarrPatternConstructor::abortedDueToError const):
    (JSC::Yarr::CharacterClassConstructor::hasInverteStrings): Deleted.
    * Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp:
    (JSC::Yarr::SyntaxChecker::abortedDueToError):
    * Source/WebCore/contentextensions/URLFilterParser.cpp:
    (WebCore::ContentExtensions::PatternParser::abortedDueToError):

    Canonical link: https://commits.webkit.org/289651.81@safari-7621-branch


  Commit: 80fc85dcfbc994e312c3ba307019549e209354c6
      
https://github.com/WebKit/WebKit/commit/80fc85dcfbc994e312c3ba307019549e209354c6
  Author: Claudio Saavedra <csaave...@igalia.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M Source/JavaScriptCore/jsc.cpp
    M Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h
    M Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h
    M Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h
    M Source/WebCore/Modules/webaudio/AudioBuffer.cpp

  Log Message:
  -----------
  Cherry-pick 289651.7@webkit-2025.2-embargoed (d3ca3297d8b8). 
https://bugs.webkit.org/show_bug.cgi?id=286835

    ASAN_TRAP | JSArrayBufferView::ConstructionContext::ConstructionContext; 
JSC::JSGenericTypedArrayView::create; JSC::GenericTypedArrayView::wrapImpl
    https://bugs.webkit.org/show_bug.cgi?id=286835

    Reviewed by Keith Miller.

    Follow-up fix to 289651.4@webkit-2025.2-embargoed. Instead of modifying
    the create() method, let's add a tryCreate() instead and use it when
    calling wrapImpl() to wrap an impl array, to preserve the invariant from
    the original method.

    This partly reverts the changes in 289651.4@webkit-2025.2-embargoed to
    preserve the invariant for other callers.

    * Source/JavaScriptCore/jsc.cpp:
    (JSC_DEFINE_HOST_FUNCTION):
    * Source/JavaScriptCore/runtime/GenericTypedArrayViewInlines.h:
    (JSC::GenericTypedArrayView<Adaptor>::wrapImpl):
    * Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h:
    * Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h:
    (JSC::JSGenericTypedArrayView<Adaptor>::create):
    (JSC::JSGenericTypedArrayView<Adaptor>::tryCreate):
    * Source/WebCore/Modules/webaudio/AudioBuffer.cpp:
    (WebCore::AudioBuffer::getChannelData):

    Canonical link: https://commits.webkit.org/289651.7@webkit-2025.2-embargoed

    Canonical link: https://commits.webkit.org/289651.200@safari-7621-branch


Compare: https://github.com/WebKit/WebKit/compare/2569e17b04b3...80fc85dcfbc9

To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to