[webkit-changes] [239495] trunk

2018-12-20 Thread justin_fan
Title: [239495] trunk








Revision 239495
Author justin_...@apple.com
Date 2018-12-20 19:04:52 -0800 (Thu, 20 Dec 2018)


Log Message
[WebGPU] Convert WebGPUBindGroups into MTLArgumentEncoders
https://bugs.webkit.org/show_bug.cgi?id=192956

Reviewed by Myles Maxfield.

No testable behavior change. Existing tests cover possible crashing.

Add GPUBindGroupLayoutMetal.mm:
* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:

Flesh out GPUBindGroupLayout::create:
* platform/graphics/gpu/GPUBindGroupLayout.cpp:
* platform/graphics/gpu/GPUBindGroupLayout.h:
* platform/graphics/gpu/GPUDevice.cpp:
(WebCore::GPUDevice::createBindGroupLayout const):
* platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm: Added.
(WebCore::appendArgumentToArrayInMap): Added.
(WebCore::GPUBindGroupLayout::create):
(WebCore::GPUBindGroupLayout::GPUBindGroupLayout):
(WebCore::MTLDataTypeForBindingType): Added.

Modified Paths

trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig
trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig
trunk/Source/WebCore/SourcesCocoa.txt
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/platform/graphics/gpu/GPUBindGroupLayout.cpp
trunk/Source/WebCore/platform/graphics/gpu/GPUBindGroupLayout.h
trunk/Source/WebCore/platform/graphics/gpu/GPUDevice.cpp
trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig
trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig
trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig


Added Paths

trunk/Source/WebCore/platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm




Diff

Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (239494 => 239495)

--- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2018-12-21 02:57:27 UTC (rev 239494)
+++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2018-12-21 03:04:52 UTC (rev 239495)
@@ -373,10 +373,12 @@
 ENABLE_WEBGL2 = ENABLE_WEBGL2;
 
 ENABLE_WEBGPU = $(ENABLE_WEBGPU_$(WK_PLATFORM_NAME));
-ENABLE_WEBGPU_iphoneos = ENABLE_WEBGPU;
+ENABLE_WEBGPU_iphoneos = $(ENABLE_WEBGPU$(WK_IOS_1100));
+ENABLE_WEBGPU_IOS_SINCE_1100 = ENABLE_WEBGPU;
 ENABLE_WEBGPU_watchos = ENABLE_WEBGPU;
 ENABLE_WEBGPU_appletvos = ENABLE_WEBGPU;
-ENABLE_WEBGPU_macosx = ENABLE_WEBGPU;
+ENABLE_WEBGPU_macosx = $(ENABLE_WEBGPU$(WK_MACOS_1013));
+ENABLE_WEBGPU_MACOS_SINCE_1013 = ENABLE_WEBGPU;
 
 ENABLE_WEBMETAL = $(ENABLE_WEBMETAL_$(WK_PLATFORM_NAME));
 ENABLE_WEBMETAL_iphoneos = ENABLE_WEBMETAL;


Modified: trunk/Source/WebCore/ChangeLog (239494 => 239495)

--- trunk/Source/WebCore/ChangeLog	2018-12-21 02:57:27 UTC (rev 239494)
+++ trunk/Source/WebCore/ChangeLog	2018-12-21 03:04:52 UTC (rev 239495)
@@ -1,3 +1,27 @@
+2018-12-20  Justin Fan  
+
+[WebGPU] Convert WebGPUBindGroups into MTLArgumentEncoders
+https://bugs.webkit.org/show_bug.cgi?id=192956
+
+Reviewed by Myles Maxfield.
+
+No testable behavior change. Existing tests cover possible crashing.
+
+Add GPUBindGroupLayoutMetal.mm:
+* SourcesCocoa.txt:
+* WebCore.xcodeproj/project.pbxproj:
+
+Flesh out GPUBindGroupLayout::create:
+* platform/graphics/gpu/GPUBindGroupLayout.cpp:
+* platform/graphics/gpu/GPUBindGroupLayout.h:
+* platform/graphics/gpu/GPUDevice.cpp:
+(WebCore::GPUDevice::createBindGroupLayout const):
+* platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm: Added.
+(WebCore::appendArgumentToArrayInMap): Added.
+(WebCore::GPUBindGroupLayout::create):
+(WebCore::GPUBindGroupLayout::GPUBindGroupLayout):
+(WebCore::MTLDataTypeForBindingType): Added.
+
 2018-12-20  Michael Catanzaro  
 
 Unreviewed, remove stray #pragma once added to .cpp file


Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (239494 => 239495)

--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2018-12-21 02:57:27 UTC (rev 239494)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2018-12-21 03:04:52 UTC (rev 239495)
@@ -373,10 +373,12 @@
 ENABLE_WEBGL2 = ENABLE_WEBGL2;
 
 ENABLE_WEBGPU = $(ENABLE_WEBGPU_$(WK_PLATFORM_NAME));
-ENABLE_WEBGPU_iphoneos = ENABLE_WEBGPU;
+ENABLE_WEBGPU_iphoneos = $(ENABLE_WEBGPU$(WK_IOS_1100));
+ENABLE_WEBGPU_IOS_SINCE_1100 = ENABLE_WEBGPU;
 ENABLE_WEBGPU_watchos = ENABLE_WEBGPU;
 ENABLE_WEBGPU_appletvos = ENABLE_WEBGPU;
-ENABLE_WEBGPU_macosx = ENABLE_WEBGPU;
+ENABLE_WEBGPU_macosx = $(ENABLE_WEBGPU$(WK_MACOS_1013));
+ENABLE_WEBGPU_MACOS_SINCE_1013 = ENABLE_WEBGPU;
 
 ENABLE_WEBMETAL = $(ENABLE_WEBMETAL_$(WK_PLATFORM_NAME));
 ENABLE_WEBMETAL_iphoneos = ENABLE_WEBMETAL;


Modified: trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig (239494 => 239495)

--- trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2018-12-21 02:57:27 UTC (rev 239494)
+++ 

[webkit-changes] [239494] branches/safari-606.4.5.0-branch/Source

2018-12-20 Thread kocsen_chung
Title: [239494] branches/safari-606.4.5.0-branch/Source








Revision 239494
Author kocsen_ch...@apple.com
Date 2018-12-20 18:57:27 -0800 (Thu, 20 Dec 2018)


Log Message
Versioning.

Modified Paths

branches/safari-606.4.5.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-606.4.5.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-606.4.5.0-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-606.4.5.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-606.4.5.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-606.4.5.0-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-606.4.5.0-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-606.4.5.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig (239493 => 239494)

--- branches/safari-606.4.5.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2018-12-21 02:46:58 UTC (rev 239493)
+++ branches/safari-606.4.5.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2018-12-21 02:57:27 UTC (rev 239494)
@@ -23,10 +23,10 @@
 
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
-TINY_VERSION = 6;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-606.4.5.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (239493 => 239494)

--- branches/safari-606.4.5.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2018-12-21 02:46:58 UTC (rev 239493)
+++ branches/safari-606.4.5.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2018-12-21 02:57:27 UTC (rev 239494)
@@ -23,10 +23,10 @@
 
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
-TINY_VERSION = 6;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-606.4.5.0-branch/Source/WebCore/Configurations/Version.xcconfig (239493 => 239494)

--- branches/safari-606.4.5.0-branch/Source/WebCore/Configurations/Version.xcconfig	2018-12-21 02:46:58 UTC (rev 239493)
+++ branches/safari-606.4.5.0-branch/Source/WebCore/Configurations/Version.xcconfig	2018-12-21 02:57:27 UTC (rev 239494)
@@ -23,10 +23,10 @@
 
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
-TINY_VERSION = 6;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-606.4.5.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (239493 => 239494)

--- branches/safari-606.4.5.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2018-12-21 02:46:58 UTC (rev 239493)
+++ branches/safari-606.4.5.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2018-12-21 02:57:27 UTC (rev 239494)
@@ -23,10 +23,10 @@
 
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
-TINY_VERSION = 6;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-606.4.5.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (239493 => 239494)

--- branches/safari-606.4.5.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2018-12-21 02:46:58 UTC (rev 239493)
+++ branches/safari-606.4.5.0-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2018-12-21 02:57:27 UTC (rev 239494)
@@ -1,9 +1,9 @@
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
-TINY_VERSION = 6;
+TINY_VERSION = 5;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The system version 

[webkit-changes] [239493] branches/safari-606.4.5.0-branch/

2018-12-20 Thread kocsen_chung
Title: [239493] branches/safari-606.4.5.0-branch/








Revision 239493
Author kocsen_ch...@apple.com
Date 2018-12-20 18:46:58 -0800 (Thu, 20 Dec 2018)


Log Message
New branch.

Added Paths

branches/safari-606.4.5.0-branch/




Diff




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


[webkit-changes] [239492] branches/safari-606.4.5.1-branch/Source

2018-12-20 Thread kocsen_chung
Title: [239492] branches/safari-606.4.5.1-branch/Source








Revision 239492
Author kocsen_ch...@apple.com
Date 2018-12-20 18:46:10 -0800 (Thu, 20 Dec 2018)


Log Message
Versioning.

Modified Paths

branches/safari-606.4.5.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-606.4.5.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-606.4.5.1-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-606.4.5.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-606.4.5.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-606.4.5.1-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-606.4.5.1-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-606.4.5.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (239491 => 239492)

--- branches/safari-606.4.5.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2018-12-21 02:33:38 UTC (rev 239491)
+++ branches/safari-606.4.5.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2018-12-21 02:46:10 UTC (rev 239492)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
 TINY_VERSION = 5;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-606.4.5.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (239491 => 239492)

--- branches/safari-606.4.5.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2018-12-21 02:33:38 UTC (rev 239491)
+++ branches/safari-606.4.5.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2018-12-21 02:46:10 UTC (rev 239492)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
 TINY_VERSION = 5;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-606.4.5.1-branch/Source/WebCore/Configurations/Version.xcconfig (239491 => 239492)

--- branches/safari-606.4.5.1-branch/Source/WebCore/Configurations/Version.xcconfig	2018-12-21 02:33:38 UTC (rev 239491)
+++ branches/safari-606.4.5.1-branch/Source/WebCore/Configurations/Version.xcconfig	2018-12-21 02:46:10 UTC (rev 239492)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
 TINY_VERSION = 5;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-606.4.5.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (239491 => 239492)

--- branches/safari-606.4.5.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2018-12-21 02:33:38 UTC (rev 239491)
+++ branches/safari-606.4.5.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2018-12-21 02:46:10 UTC (rev 239492)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
 TINY_VERSION = 5;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-606.4.5.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (239491 => 239492)

--- branches/safari-606.4.5.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2018-12-21 02:33:38 UTC (rev 239491)
+++ branches/safari-606.4.5.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2018-12-21 02:46:10 UTC (rev 239492)
@@ -1,9 +1,9 @@
 MAJOR_VERSION = 606;
 MINOR_VERSION = 4;
 TINY_VERSION = 5;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The system version prefix is 

[webkit-changes] [239491] branches/safari-606.4.5.1-branch/

2018-12-20 Thread kocsen_chung
Title: [239491] branches/safari-606.4.5.1-branch/








Revision 239491
Author kocsen_ch...@apple.com
Date 2018-12-20 18:33:38 -0800 (Thu, 20 Dec 2018)


Log Message
New branch.

Added Paths

branches/safari-606.4.5.1-branch/




Diff




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


[webkit-changes] [239490] trunk/Source/WebCore

2018-12-20 Thread mcatanzaro
Title: [239490] trunk/Source/WebCore








Revision 239490
Author mcatanz...@igalia.com
Date 2018-12-20 18:31:00 -0800 (Thu, 20 Dec 2018)


Log Message
Unreviewed, remove stray #pragma once added to .cpp file

* svg/properties/SVGAttributeOwnerProxy.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/svg/properties/SVGAttributeOwnerProxy.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (239489 => 239490)

--- trunk/Source/WebCore/ChangeLog	2018-12-21 02:29:46 UTC (rev 239489)
+++ trunk/Source/WebCore/ChangeLog	2018-12-21 02:31:00 UTC (rev 239490)
@@ -1,3 +1,9 @@
+2018-12-20  Michael Catanzaro  
+
+Unreviewed, remove stray #pragma once added to .cpp file
+
+* svg/properties/SVGAttributeOwnerProxy.cpp:
+
 2018-12-20  Justin Michaud  
 
 Adding runtime-enabled attribute to Element prevents inlining property access


Modified: trunk/Source/WebCore/svg/properties/SVGAttributeOwnerProxy.cpp (239489 => 239490)

--- trunk/Source/WebCore/svg/properties/SVGAttributeOwnerProxy.cpp	2018-12-21 02:29:46 UTC (rev 239489)
+++ trunk/Source/WebCore/svg/properties/SVGAttributeOwnerProxy.cpp	2018-12-21 02:31:00 UTC (rev 239490)
@@ -23,8 +23,6 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#pragma once
-
 #include "config.h"
 #include "SVGAttributeOwnerProxy.h"
 






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


[webkit-changes] [239489] releases/WebKitGTK/webkit-2.22

2018-12-20 Thread mcatanzaro
Title: [239489] releases/WebKitGTK/webkit-2.22








Revision 239489
Author mcatanz...@igalia.com
Date 2018-12-20 18:29:46 -0800 (Thu, 20 Dec 2018)


Log Message
Merge r239392 - JSPropertyNameEnumerator should cache the iterated object's structure only after getting its property names.
https://bugs.webkit.org/show_bug.cgi?id=192464


Reviewed by Saam Barati.

JSTests:

This patch is about a 10% speed up on the new for-in-on-object-with-lazily-materialized-properties.js
microbenchmark.

* microbenchmarks/for-in-on-object-with-lazily-materialized-properties.js: Added.
* stress/property-name-enumerator-should-cache-structure-after-getting-property-names.js: Added.

Source/_javascript_Core:

This is because the process of getting its property names may cause some lazy
properties to be reified, and the structure will change.  This is needed in order
for get_direct_pname to work correctly.

* runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):

Modified Paths

releases/WebKitGTK/webkit-2.22/JSTests/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/runtime/JSPropertyNameEnumerator.h


Added Paths

releases/WebKitGTK/webkit-2.22/JSTests/microbenchmarks/for-in-on-object-with-lazily-materialized-properties.js
releases/WebKitGTK/webkit-2.22/JSTests/stress/property-name-enumerator-should-cache-structure-after-getting-property-names.js




Diff

Modified: releases/WebKitGTK/webkit-2.22/JSTests/ChangeLog (239488 => 239489)

--- releases/WebKitGTK/webkit-2.22/JSTests/ChangeLog	2018-12-21 02:24:50 UTC (rev 239488)
+++ releases/WebKitGTK/webkit-2.22/JSTests/ChangeLog	2018-12-21 02:29:46 UTC (rev 239489)
@@ -1,3 +1,17 @@
+2018-12-19  Mark Lam  
+
+JSPropertyNameEnumerator should cache the iterated object's structure only after getting its property names.
+https://bugs.webkit.org/show_bug.cgi?id=192464
+
+
+Reviewed by Saam Barati.
+
+This patch is about a 10% speed up on the new for-in-on-object-with-lazily-materialized-properties.js
+microbenchmark.
+
+* microbenchmarks/for-in-on-object-with-lazily-materialized-properties.js: Added.
+* stress/property-name-enumerator-should-cache-structure-after-getting-property-names.js: Added.
+
 2018-12-13  Mark Lam  
 
 Add a missing exception check.


Added: releases/WebKitGTK/webkit-2.22/JSTests/microbenchmarks/for-in-on-object-with-lazily-materialized-properties.js (0 => 239489)

--- releases/WebKitGTK/webkit-2.22/JSTests/microbenchmarks/for-in-on-object-with-lazily-materialized-properties.js	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/JSTests/microbenchmarks/for-in-on-object-with-lazily-materialized-properties.js	2018-12-21 02:29:46 UTC (rev 239489)
@@ -0,0 +1,14 @@
+function foo(o) {
+var count = 0;
+for (var p in o) {
+if (o[p])
+count ++;
+}
+return count;
+}
+noInline(foo);
+
+var total = 0;
+for (let j = 0; j < 10; ++j)
+total += foo(new Error);
+


Added: releases/WebKitGTK/webkit-2.22/JSTests/stress/property-name-enumerator-should-cache-structure-after-getting-property-names.js (0 => 239489)

--- releases/WebKitGTK/webkit-2.22/JSTests/stress/property-name-enumerator-should-cache-structure-after-getting-property-names.js	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/JSTests/stress/property-name-enumerator-should-cache-structure-after-getting-property-names.js	2018-12-21 02:29:46 UTC (rev 239489)
@@ -0,0 +1,11 @@
+function foo(){
+o = Error();
+for (var s in o) {
+o[s];
+o = Error();
+}
+}
+noInline(foo);
+
+for(var i = 0; i < 100; i++)
+foo();


Modified: releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog (239488 => 239489)

--- releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog	2018-12-21 02:24:50 UTC (rev 239488)
+++ releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/ChangeLog	2018-12-21 02:29:46 UTC (rev 239489)
@@ -1,3 +1,18 @@
+2018-12-18  Mark Lam  
+
+JSPropertyNameEnumerator should cache the iterated object's structure only after getting its property names.
+https://bugs.webkit.org/show_bug.cgi?id=192464
+
+
+Reviewed by Saam Barati.
+
+This is because the process of getting its property names may cause some lazy
+properties to be reified, and the structure will change.  This is needed in order
+for get_direct_pname to work correctly.
+
+* runtime/JSPropertyNameEnumerator.h:
+(JSC::propertyNameEnumerator):
+
 2018-12-14  Darin Adler  
 
 LiteralParser has a bunch of uses of String::format with untrusted data


Modified: releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/runtime/JSPropertyNameEnumerator.h (239488 => 239489)

--- releases/WebKitGTK/webkit-2.22/Source/_javascript_Core/runtime/JSPropertyNameEnumerator.h	2018-12-21 02:24:50 UTC (rev 239488)
+++ 

[webkit-changes] [239488] releases/WebKitGTK/webkit-2.22

2018-12-20 Thread mcatanzaro
Title: [239488] releases/WebKitGTK/webkit-2.22








Revision 239488
Author mcatanz...@igalia.com
Date 2018-12-20 18:24:50 -0800 (Thu, 20 Dec 2018)


Log Message
Merge r239070 - SVGViewSpec objects should mark relevant SVG elements
https://bugs.webkit.org/show_bug.cgi?id=192567


Reviewed by Ryosuke Niwa.

Source/WebCore:

SVGViewSpec elements reflect the state of an underlying SVGElement. Teach the mark algorithm to
recognize the relevant SVGElement as active as long as the SVGViewSpec is active.

Update SVGElement so that it can vend WeakPtrs. I also noticed that SVGAttributeOwner used a bare
pointer to the SVGElement, so switched to a WeakPtr.

Test: svg/animations/view-dependency-crash.html

* Sources.txt: Add new files.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* bindings/js/JSSVGViewSpecCustom.cpp: Added.
(WebCore::JSSVGViewSpec::visitAdditionalChildren):
* svg/SVGElement.h:
* svg/SVGPathElement.h:
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::SVGViewSpec): Hold a weak pointer (rather than a bare pointer) to the underlying element.
* svg/SVGViewSpec.h:
* svg/SVGViewSpec.idl:
* svg/properties/SVGAttributeOwnerProxy.cpp: Added.
(WebCore::SVGAttributeOwnerProxy::SVGAttributeOwnerProxy): Hold a weak pointer (rather than a bare pointer) to
the underling SVGElement.
(WebCore::SVGAttributeOwnerProxy::element const): Ditto.
* svg/properties/SVGAttributeOwnerProxy.h:
(WebCore::SVGAttributeOwnerProxy::SVGAttributeOwnerProxy): Move implementation to cpp file.
(WebCore::SVGAttributeOwnerProxy::element const): Ditto.
* svg/properties/SVGAttributeOwnerProxyImpl.h: Update for WeakPtr use.

LayoutTests:

* svg/animations/view-dependency-crash-expected.txt: Added.
* svg/animations/view-dependency-crash.html: Added.

Modified Paths

releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog
releases/WebKitGTK/webkit-2.22/Source/WebCore/Sources.txt
releases/WebKitGTK/webkit-2.22/Source/WebCore/WebCore.xcodeproj/project.pbxproj
releases/WebKitGTK/webkit-2.22/Source/WebCore/bindings/js/JSMicrotaskCallback.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/svg/SVGElement.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/svg/SVGPathElement.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/svg/SVGViewSpec.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/svg/SVGViewSpec.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/svg/SVGViewSpec.idl
releases/WebKitGTK/webkit-2.22/Source/WebCore/svg/properties/SVGAttributeOwnerProxy.h
releases/WebKitGTK/webkit-2.22/Source/WebCore/svg/properties/SVGAttributeOwnerProxyImpl.h


Added Paths

releases/WebKitGTK/webkit-2.22/LayoutTests/svg/animations/view-dependency-crash-expected.txt
releases/WebKitGTK/webkit-2.22/LayoutTests/svg/animations/view-dependency-crash.html
releases/WebKitGTK/webkit-2.22/Source/WebCore/bindings/js/JSSVGViewSpecCustom.cpp
releases/WebKitGTK/webkit-2.22/Source/WebCore/svg/properties/SVGAttributeOwnerProxy.cpp




Diff

Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog (239487 => 239488)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-12-21 02:21:22 UTC (rev 239487)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog	2018-12-21 02:24:50 UTC (rev 239488)
@@ -1,3 +1,14 @@
+2018-12-10  Brent Fulgham  
+
+SVGViewSpec objects should mark relevant SVG elements
+https://bugs.webkit.org/show_bug.cgi?id=192567
+
+
+Reviewed by Ryosuke Niwa.
+
+* svg/animations/view-dependency-crash-expected.txt: Added.
+* svg/animations/view-dependency-crash.html: Added.
+
 2018-11-16  Jiewen Tan  
 
 Disallow loading webarchives as iframes


Added: releases/WebKitGTK/webkit-2.22/LayoutTests/svg/animations/view-dependency-crash-expected.txt (0 => 239488)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/svg/animations/view-dependency-crash-expected.txt	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/svg/animations/view-dependency-crash-expected.txt	2018-12-21 02:24:50 UTC (rev 239488)
@@ -0,0 +1,2 @@
+This test passes if it does not crash
+


Added: releases/WebKitGTK/webkit-2.22/LayoutTests/svg/animations/view-dependency-crash.html (0 => 239488)

--- releases/WebKitGTK/webkit-2.22/LayoutTests/svg/animations/view-dependency-crash.html	(rev 0)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/svg/animations/view-dependency-crash.html	2018-12-21 02:24:50 UTC (rev 239488)
@@ -0,0 +1,24 @@
+
+
+
+
+
+This test passes if it does not crash
+