Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 150dba5b93243030da0a24fcbb9f3970b64a331b
      
https://github.com/WebKit/WebKit/commit/150dba5b93243030da0a24fcbb9f3970b64a331b
  Author: Mark Lam <[email protected]>
  Date:   2025-11-27 (Thu, 27 Nov 2025)

  Changed paths:
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
    M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
    M Source/JavaScriptCore/jit/AssemblyHelpers.h
    M Source/JavaScriptCore/runtime/Structure.h
    M Source/JavaScriptCore/wasm/js/JSToWasm.cpp

  Log Message:
  -----------
  Remove use of CompactPtr for Structure::m_classInfo.
https://bugs.webkit.org/show_bug.cgi?id=303079
rdar://165381788

Reviewed by Marcus Plutowski.

ClassInfo is located in CONST_DATA, and it is not guaranteed that CONST_DATA 
will be located
in the same 36-bit address range that applies to heap allocated memory.

Also, sizeof(Structure) on iOS (and peers) is 104.  With the removal of this 
CompactPtr,
sizeof(Structure) increases to 112.  However, on iOS, Structures require 32 
atom (alignment),
which takes its size class up to 128.  This means the size increase will be 
completely
inconsequential, and does not actually increase memory use.

No new tests because this is simply changing the encoding of a field to match 
that of macOS's.
It is already covered by existing tests.

* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject):
(JSC::FTL::DFG::LowerDFGToB3::compileFunctionToString):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* Source/JavaScriptCore/jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::loadCompactPtr): Deleted.
(JSC::AssemblyHelpers::branchCompactPtr): Deleted.
* Source/JavaScriptCore/runtime/Structure.h:
(JSC::Structure::classInfoForCells const):
* Source/JavaScriptCore/wasm/js/JSToWasm.cpp:
(JSC::Wasm::FunctionSignature::jsToWasmICEntrypoint const):

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



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

Reply via email to