Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d903e56029eb849cf713810872bab1cc8bed3a7e
      
https://github.com/WebKit/WebKit/commit/d903e56029eb849cf713810872bab1cc8bed3a7e
  Author: Yijia Huang <[email protected]>
  Date:   2025-05-23 (Fri, 23 May 2025)

  Changed paths:
    M Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp

  Log Message:
  -----------
  [JSC] Fix Windows build error by disambiguating std::variant assignment in 
LoopUnrollingPhase
https://bugs.webkit.org/show_bug.cgi?id=293515
rdar://151950946

Reviewed by Yusuke Suzuki.

MSVC failed to compile LoopUnrollingPhase due to ambiguous std::variant 
assignment when
assigning Node* values to a variant of type Variant<std::monostate, Node*, 
CheckedInt32>.
MSVC eagerly instantiates template constructors and incorrectly attempts to 
convert Node*
to CheckedInt32, leading to an invalid static_cast.

This patch fixes the issue by using emplace with an explicit alternative type 
to disambiguate
the assignment. This ensures the correct variant alternative is chosen and 
prevents invalid
template instantiations during overload resolution. No behavior change on 
platforms using Clang
or GCC, but prevents Windows-specific build failure with MSVC.

* Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp:
(JSC::DFG::LoopUnrollingPhase::identifyInductionVariable):

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