Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d4c4d4bd1fcfb8bfee7f7a51333f8bebf5e0e369
      
https://github.com/WebKit/WebKit/commit/d4c4d4bd1fcfb8bfee7f7a51333f8bebf5e0e369
  Author: Yusuke Suzuki <[email protected]>
  Date:   2024-04-06 (Sat, 06 Apr 2024)

  Changed paths:
    M Source/JavaScriptCore/bytecode/StructureSet.h
    M Source/JavaScriptCore/dfg/DFGArrayMode.cpp
    M Source/JavaScriptCore/dfg/DFGArrayMode.h
    M Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
    M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

  Log Message:
  -----------
  [JSC] Add Array::OriginalArray DFG::ArrayMode, which can handle both CoW 
array and non-CoW array
https://bugs.webkit.org/show_bug.cgi?id=272259
rdar://125997646

Reviewed by Alexey Shvayka.

This extends DFG::ArrayMode and introduces OriginalArray. And we rename old 
OriginalArray to OriginalNonCopyOnWriteArray.
OriginalArray can handle both CoW and non-CoW original arrays. The purpose of 
this is telling DFG / FTL that we still see original arrays.
This allows some of optimizations because it makes clobberising rules more 
precise.

* Source/JavaScriptCore/bytecode/StructureSet.h:
* Source/JavaScriptCore/dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::originalArrayStructures const):
(JSC::DFG::ArrayMode::alreadyChecked const):
(JSC::DFG::arrayClassToString):
(JSC::DFG::ArrayMode::originalArrayStructure const): Deleted.
* Source/JavaScriptCore/dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::withProfile const):
(JSC::DFG::ArrayMode::isJSArray const):
(JSC::DFG::ArrayMode::isJSArrayWithOriginalStructure const):
(JSC::DFG::ArrayMode::arrayModesWithIndexingShapes const):
* Source/JavaScriptCore/dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::checkArray):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

Canonical link: https://commits.webkit.org/277174@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