[webkit-changes] [284855] trunk

2021-10-25 Thread ryanhaddad
Title: [284855] trunk








Revision 284855
Author ryanhad...@apple.com
Date 2021-10-25 21:40:59 -0700 (Mon, 25 Oct 2021)


Log Message
Change default iOS simulator to one with a larger screen size
https://bugs.webkit.org/show_bug.cgi?id=231844

Reviewed by Jonathan Bedard.

Tools:

* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RunTest.test_device_type_specific_listing):
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort):
(IPhoneSimulatorPort):

LayoutTests:

* platform/ios-wk2/TestExpectations:
* platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Removed.
* platform/ios/compositing/backing/page-scale-overlap-in-iframe-expected.txt: Renamed from LayoutTests/platform/ios-wk2/compositing/backing/page-scale-overlap-in-iframe-expected.txt.
* platform/ios/compositing/contents-format/deep-color-backing-store-expected.txt: Added.
* platform/ios/fast/events/ios/keyboard-scrolling-distance-expected.txt: Added.
* platform/ios/fast/events/ios/keyboard-should-not-trigger-resize-expected.txt: Added.
* platform/ios/fast/events/ios/rotation/zz-no-rotation-expected.txt: Added.
* platform/ios/fast/forms/ios/accessory-bar-navigation-expected.txt: Added.
* platform/ios/fast/forms/ios/focus-input-in-fixed-expected.txt: Added.
* platform/ios/fast/forms/ios/focus-input-in-iframe-expected.txt: Added.
* platform/ios/fast/forms/ios/focus-input-via-button-expected.txt: Added.
* platform/ios/fast/forms/ios/focus-input-via-button-no-scaling-expected.txt: Added.
* platform/ios/fast/forms/ios/focus-long-textarea-expected.txt: Added.
* platform/ios/fast/forms/ios/zoom-after-input-tap-expected.txt: Added.
* platform/ios/fast/forms/ios/zoom-after-input-tap-wide-input-expected.txt: Added.
* platform/ios/fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt:
* platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt:
* platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt:
* platform/ios/fast/scrolling/ios/scrolling-content-clip-to-viewport-expected.txt:
* platform/ios/fast/scrolling/ios/subpixel-overflow-scrolling-with-ancestor-expected.txt: Copied from LayoutTests/platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt.
* platform/ios/fast/scrolling/ios/touch-stacking-expected.txt:
* platform/ios/fast/viewport/ios/device-width-viewport-after-changing-view-scale-expected.txt: Added.
* platform/ios/fast/viewport/ios/non-responsive-viewport-after-changing-view-scale-expected.txt: Added.
* platform/ios/fast/viewport/ios/responsive-viewport-with-minimum-width-after-changing-view-scale-expected.txt: Added.
* platform/ios/fast/viewport/ios/shrink-to-fit-for-page-without-viewport-meta-expected.txt: Added.
* platform/ios/fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta-expected.txt: Added.
* platform/ios/fast/viewport/ios/width-is-device-width-expected.txt: Added.
* platform/ios/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-expected.txt: Added.
* platform/ios/fast/viewport/ios/width-is-device-width-overflowing-body-overflow-hidden-tall-expected.txt: Added.
* platform/ios/fast/viewport/ios/width-is-device-width-overflowing-expected.txt: Added.
* platform/ios/fast/viewport/ios/width-is-device-width-overflowing-no-shrink-to-fit-expected.txt: Added.
* platform/ios/imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Renamed from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-form-submission-expected.txt:
* platform/ios/scrollingcoordinator/ios/fixed-in-frame-layer-reconcile-layer-position-expected.txt: Added.
* platform/ios/scrollingcoordinator/ios/fixed-in-overflow-scroll-scrolling-tree-expected.txt: Added.
* platform/ios/scrollingcoordinator/ios/fixed-scrolling-with-keyboard-expected.txt: Added.
* platform/ios/scrollingcoordinator/ios/ui-scrolling-tree-expected.txt: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios/fast/scrolling/ios/clipping-ancestor-with-accelerated-scrolling-ancestor-expected.txt
trunk/LayoutTests/platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-expected.txt
trunk/LayoutTests/platform/ios/fast/scrolling/ios/overflow-scrolling-ancestor-clip-size-expected.txt
trunk/LayoutTests/platform/ios/fast/scrolling/ios/scrolling-content-clip-to-viewport-expected.txt
trunk/LayoutTests/platform/ios/fast/scrolling/ios/touch-stacking-expected.txt
trunk/LayoutTests/platform/ios-wk2/TestExpectations

[webkit-changes] [284854] trunk/Tools

2021-10-25 Thread ap
Title: [284854] trunk/Tools








Revision 284854
Author a...@apple.com
Date 2021-10-25 21:37:01 -0700 (Mon, 25 Oct 2021)


Log Message
Add perl 5.30 to kill-old-processes
https://bugs.webkit.org/show_bug.cgi?id=232290

Reviewed by Ryan Haddad.

* CISupport/kill-old-processes:

Modified Paths

trunk/Tools/CISupport/kill-old-processes
trunk/Tools/ChangeLog




Diff

Modified: trunk/Tools/CISupport/kill-old-processes (284853 => 284854)

--- trunk/Tools/CISupport/kill-old-processes	2021-10-26 01:44:38 UTC (rev 284853)
+++ trunk/Tools/CISupport/kill-old-processes	2021-10-26 04:37:01 UTC (rev 284854)
@@ -121,7 +121,8 @@
 "make",
 "perl5.12",
 "perl5.16",
-"perl5.18",
+"perl5.18",
+"perl5.30",
 "perl",
 "Problem Reporter",
 "ruby",


Modified: trunk/Tools/ChangeLog (284853 => 284854)

--- trunk/Tools/ChangeLog	2021-10-26 01:44:38 UTC (rev 284853)
+++ trunk/Tools/ChangeLog	2021-10-26 04:37:01 UTC (rev 284854)
@@ -1,3 +1,12 @@
+2021-10-25  Alexey Proskuryakov  
+
+Add perl 5.30 to kill-old-processes
+https://bugs.webkit.org/show_bug.cgi?id=232290
+
+Reviewed by Ryan Haddad.
+
+* CISupport/kill-old-processes:
+
 2021-10-25  Kate Cheney  
 
 Clean up App Bound Domains tests






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [284853] trunk

2021-10-25 Thread commit-queue
Title: [284853] trunk








Revision 284853
Author commit-qu...@webkit.org
Date 2021-10-25 18:44:38 -0700 (Mon, 25 Oct 2021)


Log Message
Fix issue for transform-origin in SVG
https://bugs.webkit.org/show_bug.cgi?id=232189

Patch by Nikolaos Mouchtaris  on 2021-10-25
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-ref.svg: Added.
* web-platform-tests/svg/styling/render/transform-origin-not-explicit-style.svg: Added.

Source/WebCore:

Add temp fix to use previously ignored transform-origin in SVGGraphicsElement::animatedLocalTransform
if not explicitly set in style. Proper fix to come: https://bugs.webkit.org/show_bug.cgi?id=232128.

Tests: imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-ref.svg
   imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style.svg

* svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform const):

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/svg/SVGGraphicsElement.cpp


Added Paths

trunk/LayoutTests/imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-visual-expected.svg
trunk/LayoutTests/imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-visual.svg




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (284852 => 284853)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-10-26 00:34:53 UTC (rev 284852)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-10-26 01:44:38 UTC (rev 284853)
@@ -1,3 +1,13 @@
+2021-10-25  Nikolaos Mouchtaris  
+
+Fix issue for transform-origin in SVG
+https://bugs.webkit.org/show_bug.cgi?id=232189
+
+Reviewed by Simon Fraser.
+
+* web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-ref.svg: Added.
+* web-platform-tests/svg/styling/render/transform-origin-not-explicit-style.svg: Added.
+
 2021-10-25  Chris Dumez  
 
 Form navigations with target=_blank should not have an opener


Added: trunk/LayoutTests/imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-visual-expected.svg (0 => 284853)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-visual-expected.svg	(rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-visual-expected.svg	2021-10-26 01:44:38 UTC (rev 284853)
@@ -0,0 +1,13 @@
+
+  
+rect {
+  fill: green;
+}
+  
+  
+
+  
+


Added: trunk/LayoutTests/imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-visual.svg (0 => 284853)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-visual.svg	(rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-visual.svg	2021-10-26 01:44:38 UTC (rev 284853)
@@ -0,0 +1,18 @@
+
+  
+
+  
+  
+rect {
+  fill: green;
+}
+  
+  
+
+  
+


Modified: trunk/Source/WebCore/ChangeLog (284852 => 284853)

--- trunk/Source/WebCore/ChangeLog	2021-10-26 00:34:53 UTC (rev 284852)
+++ trunk/Source/WebCore/ChangeLog	2021-10-26 01:44:38 UTC (rev 284853)
@@ -1,3 +1,19 @@
+2021-10-25  Nikolaos Mouchtaris  
+
+Fix issue for transform-origin in SVG
+https://bugs.webkit.org/show_bug.cgi?id=232189
+
+Reviewed by Simon Fraser.
+
+Add temp fix to use previously ignored transform-origin in SVGGraphicsElement::animatedLocalTransform 
+if not explicitly set in style. Proper fix to come: https://bugs.webkit.org/show_bug.cgi?id=232128.
+
+Tests: imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style-ref.svg
+   imported/w3c/web-platform-tests/svg/styling/render/transform-origin-not-explicit-style.svg
+
+* svg/SVGGraphicsElement.cpp:
+(WebCore::SVGGraphicsElement::animatedLocalTransform const):
+
 2021-10-25  Chris Fleizach  
 
 WebKit should use img@title as label even if img@alt is exlicitly empty


Modified: trunk/Source/WebCore/svg/SVGGraphicsElement.cpp (284852 => 284853)

--- trunk/Source/WebCore/svg/SVGGraphicsElement.cpp	2021-10-26 00:34:53 UTC (rev 284852)
+++ trunk/Source/WebCore/svg/SVGGraphicsElement.cpp	2021-10-26 01:44:38 UTC (rev 284853)
@@ -99,8 +99,13 @@
 }
 
 // If we didn't have the CSS "transform" property set, we must account for the "transform" attribute.
-if (!hasSpecifiedTransform)
+if (!hasSpecifiedTransform && style) {
+auto boundingBox = SVGRenderSupport::transformReferenceBox(*renderer(), *this, *style);
+auto t = floatPointForLengthPoint(style->transformOriginXY(), boundingBox.size());
+

[webkit-changes] [284852] trunk/Source/JavaScriptCore

2021-10-25 Thread ysuzuki
Title: [284852] trunk/Source/_javascript_Core








Revision 284852
Author ysuz...@apple.com
Date 2021-10-25 17:34:53 -0700 (Mon, 25 Oct 2021)


Log Message
[JSC] Fix stale assertion in InternalFunctionAllocationProfile after r284757
https://bugs.webkit.org/show_bug.cgi?id=232269

Reviewed by Robin Morisset.

Now, condition in InternalFunction is changed in r284757. We need to update
this assertion accordingly. It is tested (and crashing) in the existing stress test[1].

[1]: InternalFunctionAllocationProfile-createAllocationStructureFromBase-should-allow-for-same-classInfo-from-different-globals.js

* bytecode/InternalFunctionAllocationProfile.h:
(JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/bytecode/InternalFunctionAllocationProfile.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (284851 => 284852)

--- trunk/Source/_javascript_Core/ChangeLog	2021-10-26 00:17:53 UTC (rev 284851)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-10-26 00:34:53 UTC (rev 284852)
@@ -1,5 +1,20 @@
 2021-10-25  Yusuke Suzuki  
 
+[JSC] Fix stale assertion in InternalFunctionAllocationProfile after r284757
+https://bugs.webkit.org/show_bug.cgi?id=232269
+
+Reviewed by Robin Morisset.
+
+Now, condition in InternalFunction is changed in r284757. We need to update
+this assertion accordingly. It is tested (and crashing) in the existing stress test[1].
+
+[1]: InternalFunctionAllocationProfile-createAllocationStructureFromBase-should-allow-for-same-classInfo-from-different-globals.js
+
+* bytecode/InternalFunctionAllocationProfile.h:
+(JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):
+
+2021-10-25  Yusuke Suzuki  
+
 [JSC] Don't branch around register allocation in DFG enumerator get by val
 https://bugs.webkit.org/show_bug.cgi?id=232260
 rdar://84544469


Modified: trunk/Source/_javascript_Core/bytecode/InternalFunctionAllocationProfile.h (284851 => 284852)

--- trunk/Source/_javascript_Core/bytecode/InternalFunctionAllocationProfile.h	2021-10-26 00:17:53 UTC (rev 284851)
+++ trunk/Source/_javascript_Core/bytecode/InternalFunctionAllocationProfile.h	2021-10-26 00:34:53 UTC (rev 284852)
@@ -47,7 +47,7 @@
 
 inline Structure* InternalFunctionAllocationProfile::createAllocationStructureFromBase(VM& vm, JSGlobalObject* baseGlobalObject, JSCell* owner, JSObject* prototype, Structure* baseStructure)
 {
-ASSERT(!m_structure || m_structure.get()->classInfo() != baseStructure->classInfo() || m_structure->globalObject() != baseGlobalObject);
+ASSERT(!m_structure || m_structure.get()->classInfo() != baseStructure->classInfo() || m_structure->globalObject() != baseStructure->globalObject());
 ASSERT(baseStructure->hasMonoProto());
 
 Structure* structure;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [284851] trunk

2021-10-25 Thread ysuzuki
Title: [284851] trunk








Revision 284851
Author ysuz...@apple.com
Date 2021-10-25 17:17:53 -0700 (Mon, 25 Oct 2021)


Log Message
[JSC] Don't branch around register allocation in DFG enumerator get by val
https://bugs.webkit.org/show_bug.cgi?id=232260
rdar://84544469

Reviewed by Robin Morisset.

JSTests:

* stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js: Added.
(foo):

Source/_javascript_Core:

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString):
(JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol):
(JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments):
(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):
(JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByVal):
(JSC::DFG::SpeculativeJIT::compile):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp
trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp


Added Paths

trunk/JSTests/stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js




Diff

Modified: trunk/JSTests/ChangeLog (284850 => 284851)

--- trunk/JSTests/ChangeLog	2021-10-26 00:16:10 UTC (rev 284850)
+++ trunk/JSTests/ChangeLog	2021-10-26 00:17:53 UTC (rev 284851)
@@ -1,3 +1,14 @@
+2021-10-25  Yusuke Suzuki  
+
+[JSC] Don't branch around register allocation in DFG enumerator get by val
+https://bugs.webkit.org/show_bug.cgi?id=232260
+rdar://84544469
+
+Reviewed by Robin Morisset.
+
+* stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js: Added.
+(foo):
+
 2021-10-24  Alexey Shvayka  
 
 InternalFunction::createSubclassStructure() should use prototype's global object


Added: trunk/JSTests/stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js (0 => 284851)

--- trunk/JSTests/stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js	(rev 0)
+++ trunk/JSTests/stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js	2021-10-26 00:17:53 UTC (rev 284851)
@@ -0,0 +1,10 @@
+function foo(o) {
+  for (let p in o) {
+o[p];
+  }
+}
+
+for (let i = 0; i < 1; i++) {
+  foo(new Float32Array());
+  foo({o: undefined});
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (284850 => 284851)

--- trunk/Source/_javascript_Core/ChangeLog	2021-10-26 00:16:10 UTC (rev 284850)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-10-26 00:17:53 UTC (rev 284851)
@@ -1,3 +1,28 @@
+2021-10-25  Yusuke Suzuki  
+
+[JSC] Don't branch around register allocation in DFG enumerator get by val
+https://bugs.webkit.org/show_bug.cgi?id=232260
+rdar://84544469
+
+Reviewed by Robin Morisset.
+
+* dfg/DFGSpeculativeJIT.cpp:
+(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
+(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
+(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
+(JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString):
+(JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol):
+(JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments):
+(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):
+(JSC::DFG::SpeculativeJIT::compileEnumeratorGetByVal):
+* dfg/DFGSpeculativeJIT.h:
+* dfg/DFGSpeculativeJIT32_64.cpp:
+(JSC::DFG::SpeculativeJIT::compileGetByVal):
+(JSC::DFG::SpeculativeJIT::compile):
+* dfg/DFGSpeculativeJIT64.cpp:
+(JSC::DFG::SpeculativeJIT::compileGetByVal):
+(JSC::DFG::SpeculativeJIT::compile):
+
 2021-10-25  Mikhail R. Gadelha  
 
 [JSC][32bit] Don't speculate Cell on PutByVal


Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (284850 => 284851)

--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2021-10-26 00:16:10 UTC (rev 284850)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp	2021-10-26 00:17:53 UTC (rev 284851)
@@ -2593,7 +2593,7 @@
 strictInt32Result(scratchReg, m_currentNode);
 }
 
-void SpeculativeJIT::compileGetByValOnString(Node* node, const ScopedLambda(DataFormat preferredFormat)>& prefix)
+void SpeculativeJIT::compileGetByValOnString(Node* node, const ScopedLambda(DataFormat preferredFormat)>& prefix)
 {
 SpeculateCellOperand base(this, m_graph.child(node, 0));
 SpeculateStrictInt32Operand property(this, m_graph.child(node, 1));

[webkit-changes] [284850] trunk/Source/WTF

2021-10-25 Thread ysuzuki
Title: [284850] trunk/Source/WTF








Revision 284850
Author ysuz...@apple.com
Date 2021-10-25 17:16:10 -0700 (Mon, 25 Oct 2021)


Log Message
[WTF] Make Int128 operator* constexpr
https://bugs.webkit.org/show_bug.cgi?id=232270

Reviewed by Mark Lam.

We remove MSVC X64 (so, Windows only) switching in Int128 operator* since
it breaks constexpr-ness of operator*, which makes writing code difficult.
We can bring this kind of optimization back when C++20 std::is_constant_evaluated()
becomes available.

* wtf/Int128.h:
(WTF::operator*):

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/Int128.h




Diff

Modified: trunk/Source/WTF/ChangeLog (284849 => 284850)

--- trunk/Source/WTF/ChangeLog	2021-10-25 23:41:45 UTC (rev 284849)
+++ trunk/Source/WTF/ChangeLog	2021-10-26 00:16:10 UTC (rev 284850)
@@ -1,3 +1,18 @@
+2021-10-25  Yusuke Suzuki  
+
+[WTF] Make Int128 operator* constexpr
+https://bugs.webkit.org/show_bug.cgi?id=232270
+
+Reviewed by Mark Lam.
+
+We remove MSVC X64 (so, Windows only) switching in Int128 operator* since
+it breaks constexpr-ness of operator*, which makes writing code difficult.
+We can bring this kind of optimization back when C++20 std::is_constant_evaluated()
+becomes available.
+
+* wtf/Int128.h:
+(WTF::operator*):
+
 2021-10-25  Alex Christensen  
 
 Use xpc_connection_copy_invalidation_reason where available for debugging daemon connection failures


Modified: trunk/Source/WTF/wtf/Int128.h (284849 => 284850)

--- trunk/Source/WTF/wtf/Int128.h	2021-10-25 23:41:45 UTC (rev 284849)
+++ trunk/Source/WTF/wtf/Int128.h	2021-10-26 00:16:10 UTC (rev 284850)
@@ -48,13 +48,9 @@
 // builtin type.  We need to make sure not to define operator wchar_t()
 // alongside operator unsigned short() in these instances.
 #define ABSL_INTERNAL_WCHAR_T __wchar_t
-#if CPU(X86_64)
-#include 
-#pragma intrinsic(_umul128)
-#endif  // defined(_M_X64)
-#else   // defined(_MSC_VER)
+#else
 #define ABSL_INTERNAL_WCHAR_T wchar_t
-#endif  // defined(_MSC_VER)
+#endif
 
 namespace WTF {
 
@@ -515,7 +511,7 @@
 constexpr UInt128Impl operator>>(UInt128Impl lhs, int amount);
 constexpr UInt128Impl operator+(UInt128Impl lhs, UInt128Impl rhs);
 constexpr UInt128Impl operator-(UInt128Impl lhs, UInt128Impl rhs);
-UInt128Impl operator*(UInt128Impl lhs, UInt128Impl rhs);
+constexpr UInt128Impl operator*(UInt128Impl lhs, UInt128Impl rhs);
 WTF_EXPORT_PRIVATE UInt128Impl operator/(UInt128Impl lhs, UInt128Impl rhs);
 WTF_EXPORT_PRIVATE UInt128Impl operator%(UInt128Impl lhs, UInt128Impl rhs);
 
@@ -812,14 +808,7 @@
   lhs, rhs);
 }
 
-inline UInt128Impl operator*(UInt128Impl lhs, UInt128Impl rhs) {
-#if COMPILER(MSVC) && CPU(X86_64)
-  uint64_t carry;
-  uint64_t low = _umul128(UInt128Low64(lhs), UInt128Low64(rhs), );
-  return MakeUInt128(UInt128Low64(lhs) * UInt128High64(rhs) +
- UInt128High64(lhs) * UInt128Low64(rhs) + carry,
- low);
-#else
+constexpr UInt128Impl operator*(UInt128Impl lhs, UInt128Impl rhs) {
   uint64_t a32 = UInt128Low64(lhs) >> 32;
   uint64_t a00 = UInt128Low64(lhs) & 0x;
   uint64_t b32 = UInt128Low64(rhs) >> 32;
@@ -828,10 +817,9 @@
   MakeUInt128(UInt128High64(lhs) * UInt128Low64(rhs) +
   UInt128Low64(lhs) * UInt128High64(rhs) + a32 * b32,
   a00 * b00);
-  result += UInt128Impl(a32 * b00) << 32;
-  result += UInt128Impl(a00 * b32) << 32;
-  return result;
-#endif
+  UInt128Impl v1 = UInt128Impl(a32 * b00) << 32;
+  UInt128Impl v2 = UInt128Impl(a00 * b32) << 32;
+  return result + v1 + v2;
 }
 
 // Increment/decrement operators.
@@ -894,7 +882,7 @@
 constexpr Int128Impl operator-(Int128Impl v);
 constexpr Int128Impl operator+(Int128Impl lhs, Int128Impl rhs);
 constexpr Int128Impl operator-(Int128Impl lhs, Int128Impl rhs);
-Int128Impl operator*(Int128Impl lhs, Int128Impl rhs);
+constexpr Int128Impl operator*(Int128Impl lhs, Int128Impl rhs);
 WTF_EXPORT_PRIVATE Int128Impl operator/(Int128Impl lhs, Int128Impl rhs);
 WTF_EXPORT_PRIVATE Int128Impl operator%(Int128Impl lhs, Int128Impl rhs);
 constexpr Int128Impl operator|(Int128Impl lhs, Int128Impl rhs);
@@ -1192,7 +1180,7 @@
   lhs, rhs);
 }
 
-inline Int128Impl operator*(Int128Impl lhs, Int128Impl rhs) {
+constexpr Int128Impl operator*(Int128Impl lhs, Int128Impl rhs) {
   return MakeInt128(
   int128_internal::BitCastToSigned(UInt128High64(UInt128Impl(lhs) * rhs)),
   UInt128Low64(UInt128Impl(lhs) * rhs));






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [284849] trunk

2021-10-25 Thread kpiddington
Title: [284849] trunk








Revision 284849
Author kpidding...@apple.com
Date 2021-10-25 16:41:45 -0700 (Mon, 25 Oct 2021)


Log Message
REGRESSION (iOS 15), safari604.1: Could not link the shader program
https://bugs.webkit.org/show_bug.cgi?id=231475

Renaming regex incorrectly substituted an attribute.
Update to require exact attribute match

Source/ThirdParty/ANGLE:

Reviewed by Dean Jackson

* src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm:
(rx::mtl::updateShaderAttributes):

LayoutTests:

Add test to expose bug, verify test passes

Reviewed by Dean Jackson.

* fast/canvas/webgl/attrib-name-aliasing-bug-expected.txt: Added.
* fast/canvas/webgl/attrib-name-aliasing-bug.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_glslang_mtl_utils.mm


Added Paths

trunk/LayoutTests/fast/canvas/webgl/attrib-name-aliasing-bug-expected.txt
trunk/LayoutTests/fast/canvas/webgl/attrib-name-aliasing-bug.html




Diff

Modified: trunk/LayoutTests/ChangeLog (284848 => 284849)

--- trunk/LayoutTests/ChangeLog	2021-10-25 23:39:50 UTC (rev 284848)
+++ trunk/LayoutTests/ChangeLog	2021-10-25 23:41:45 UTC (rev 284849)
@@ -1,3 +1,18 @@
+2021-10-25  Kyle Piddington  
+
+REGRESSION (iOS 15), safari604.1: Could not link the shader program
+https://bugs.webkit.org/show_bug.cgi?id=231475
+
+Renaming regex incorrectly substituted an attribute. 
+Update to require exact attribute match
+
+Add test to expose bug, verify test passes
+
+Reviewed by Dean Jackson.
+
+* fast/canvas/webgl/attrib-name-aliasing-bug-expected.txt: Added.
+* fast/canvas/webgl/attrib-name-aliasing-bug.html: Added.
+
 2021-10-25  John Wilander  
 
 Remove assert failure expectations after r284846 landed


Added: trunk/LayoutTests/fast/canvas/webgl/attrib-name-aliasing-bug-expected.txt (0 => 284849)

--- trunk/LayoutTests/fast/canvas/webgl/attrib-name-aliasing-bug-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/canvas/webgl/attrib-name-aliasing-bug-expected.txt	2021-10-25 23:41:45 UTC (rev 284849)
@@ -0,0 +1,10 @@
+Verify fix on substring-mached attrib locations.
+Test attrib names not incorrectly identified during renaming
+PASS gl.getProgramParameter(program, gl.LINK_STATUS) is true
+PASS attrib location should not be -1
+PASS attrib 2 location should not be -1
+PASS getError was expected value: NO_ERROR :
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/canvas/webgl/attrib-name-aliasing-bug.html (0 => 284849)

--- trunk/LayoutTests/fast/canvas/webgl/attrib-name-aliasing-bug.html	(rev 0)
+++ trunk/LayoutTests/fast/canvas/webgl/attrib-name-aliasing-bug.html	2021-10-25 23:41:45 UTC (rev 284849)
@@ -0,0 +1,63 @@
+
+
+
+
+WebGL attrib location length tests
+
+