[webkit-changes] [239495] trunk
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
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/
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
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/
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
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
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
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
+