[webkit-changes] [194820] trunk/Source/JavaScriptCore
Title: [194820] trunk/Source/_javascript_Core Revision 194820 Author mark@apple.com Date 2016-01-09 07:23:56 -0800 (Sat, 09 Jan 2016) Log Message The FTL allocated spill slots for BinaryOps is sometimes inaccurate. https://bugs.webkit.org/show_bug.cgi?id=152918 Reviewed by Filip Pizlo and Saam Barati. * ftl/FTLCompile.cpp: - Updated a comment. * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::lower): - The code to compute maxNumberOfCatchSpills was unnecessarily allocating an extra slot for BinaryOps that don't have Untyped operands, and failing to allocate that extra slot for some binary ops. This is now fixed. * tests/stress/ftl-shr-exception.js: * tests/stress/ftl-xor-exception.js: - Un-skipped these tests. They now pass with this patch. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/ftl/FTLCompile.cpp trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp trunk/Source/_javascript_Core/tests/stress/ftl-shr-exception.js trunk/Source/_javascript_Core/tests/stress/ftl-xor-exception.js Diff Modified: trunk/Source/_javascript_Core/ChangeLog (194819 => 194820) --- trunk/Source/_javascript_Core/ChangeLog 2016-01-09 13:13:41 UTC (rev 194819) +++ trunk/Source/_javascript_Core/ChangeLog 2016-01-09 15:23:56 UTC (rev 194820) @@ -1,3 +1,22 @@ +2016-01-09 Mark Lam + +The FTL allocated spill slots for BinaryOps is sometimes inaccurate. +https://bugs.webkit.org/show_bug.cgi?id=152918 + +Reviewed by Filip Pizlo and Saam Barati. + +* ftl/FTLCompile.cpp: +- Updated a comment. +* ftl/FTLLowerDFGToLLVM.cpp: +(JSC::FTL::DFG::LowerDFGToLLVM::lower): +- The code to compute maxNumberOfCatchSpills was unnecessarily allocating an + extra slot for BinaryOps that don't have Untyped operands, and failing to + allocate that extra slot for some binary ops. This is now fixed. + +* tests/stress/ftl-shr-exception.js: +* tests/stress/ftl-xor-exception.js: +- Un-skipped these tests. They now pass with this patch. + 2016-01-09 Andreas KlingUse NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL Modified: trunk/Source/_javascript_Core/ftl/FTLCompile.cpp (194819 => 194820) --- trunk/Source/_javascript_Core/ftl/FTLCompile.cpp 2016-01-09 13:13:41 UTC (rev 194819) +++ trunk/Source/_javascript_Core/ftl/FTLCompile.cpp 2016-01-09 15:23:56 UTC (rev 194820) @@ -543,7 +543,7 @@ callOperationExit = >osrExit.last(); } -// Subs and GetByIds have an interesting register preservation story, +// BinaryOps and GetByIds have an interesting register preservation story, // see comment below at GetById to read about it. // // We set the registers needing spillage here because they need to be set Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (194819 => 194820) --- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2016-01-09 13:13:41 UTC (rev 194819) +++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2016-01-09 15:23:56 UTC (rev 194820) @@ -262,13 +262,21 @@ case ArithDiv: case ArithMul: case ArithSub: +case ValueAdd: +case DFG::BitAnd: +case DFG::BitOr: +case DFG::BitXor: +case BitLShift: +case BitRShift: +case BitURShift: +if (!node->isBinaryUseKind(UntypedUse)) +break; // We only compile patchpoints for UntypedUse. +FALLTHROUGH; + case GetById: -case GetByIdFlush: -case ValueAdd: { -// We may have to flush one thing for GetByIds/ArithSubs when the base and result or the left/right and the result +case GetByIdFlush: { +// We may have to flush one thing for GetByIds/ binary ops when the base and result or the left/right and the result // are assigned the same register. For a more comprehensive overview, look at the comment in FTLCompile.cpp -if (node->op() == ArithSub && node->binaryUseKind() != UntypedUse) -break; // We only compile patchpoints for ArithSub UntypedUse. CodeOrigin opCatchOrigin; HandlerInfo* exceptionHandler; bool willCatchException = m_graph.willCatchExceptionInMachineFrame(node->origin.forExit, opCatchOrigin, exceptionHandler); Modified: trunk/Source/_javascript_Core/tests/stress/ftl-shr-exception.js (194819 => 194820) ---
[webkit-changes] [194821] trunk/Source
Title: [194821] trunk/Source Revision 194821 Author m...@apple.com Date 2016-01-09 12:13:57 -0800 (Sat, 09 Jan 2016) Log Message [Cocoa] Allow overriding the frameworks directory independently of using a staging install path https://bugs.webkit.org/show_bug.cgi?id=152926 Reviewed by Tim Horton. Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari. Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces. Source/_javascript_Core: * Configurations/Base.xcconfig: - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces. - Define _javascript_CORE_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR. * Configurations/JSC.xcconfig: Add quotes to account for spaces. * Configurations/ToolExecutable.xcconfig: Ditto. * postprocess-headers.sh: Ditto. Source/ThirdParty: * gtest/xcode/Config/General.xcconfig: Add quotes to account for spaces. * gtest/xcode/Config/ProductionProject.xcconfig: - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces. - Define WEBCORE_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR. Source/WebCore: * Configurations/WebCore.xcconfig: - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces. - Define WEBCORE_FRAMEWORKS_DIR and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR. * WebCore.xcodeproj/project.pbxproj: Work around make’s inability to handle spaces in paths by creating a symlink to _javascript_CORE_PRIVATE_HEADERS_DIR under BUILT_PRODUCTS_DIR and using the symlink as the value of _javascript_Core_SCRIPTS_DIR. Source/WebInspectorUI: * Configurations/Base.xcconfig: - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces. * Configurations/WebInspectorUIFramework.xcconfig: - Define INSTALL_PATH and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR. Source/WebKit/mac: * Configurations/WebKitLegacy.xcconfig: - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces. - Define WEBKIT_LEGACY_FRAMEWORKS_DIR, PRODUCTION_FRAMEWORKS_DIR, and WEBCORE_PRIVATE_HEADERS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR. * MigrateHeaders.make: Use a symlink under BUILT_PRODUCTS_DIR to the WebCore Private Headers. Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based one in order to avoid spaces. * migrate-headers.sh: Make the symlink to WEBCORE_PRIVATE_HEADERS_DIR that the makefile now uses. Source/WebKit2: * Configurations/BaseTarget.xcconfig: - Add quotes to account for spaces. - Define WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR. * WebKit2.xcodeproj/project.pbxproj: - In the Migrate WebKitLegacy Headers build phase, work around make’s inability to handle spaces in paths by creating a symlink to WEBKIT_LEGACY_PRIVATE_HEADERS_DIR under BUILT_PRODUCTS_DIR and using the symlink as the value of WEBKIT_LEGACY_PRIVATE_HEADERS_DIR. - In the Postprocess WKBase.h and Postprocess WKFoundation.h build phases, add quotes to account for spaces. * mac/MigrateHeadersFromWebKitLegacy.make: Use a BUILT_PRODUCTS_DIR-based path to the framework instead of a TARGET_BUILD_DIR-based one in order to avoid spaces. * mac/postprocess-framework-headers.sh: Add quotes to account for spaces. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/Base.xcconfig trunk/Source/_javascript_Core/Configurations/JSC.xcconfig trunk/Source/_javascript_Core/Configurations/ToolExecutable.xcconfig trunk/Source/_javascript_Core/postprocess-headers.sh trunk/Source/ThirdParty/ChangeLog trunk/Source/ThirdParty/gtest/xcode/Config/General.xcconfig trunk/Source/ThirdParty/gtest/xcode/Config/ProductionProject.xcconfig trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/WebCore.xcconfig trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/Configurations/Base.xcconfig trunk/Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig trunk/Source/WebKit/mac/ChangeLog trunk/Source/WebKit/mac/Configurations/WebKitLegacy.xcconfig trunk/Source/WebKit/mac/MigrateHeaders.make trunk/Source/WebKit/mac/migrate-headers.sh trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Configurations/BaseTarget.xcconfig trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj trunk/Source/WebKit2/mac/MigrateHeadersFromWebKitLegacy.make
[webkit-changes] [194822] trunk/Source/WebCore/platform/gtk/po
Title: [194822] trunk/Source/WebCore/platform/gtk/po Revision 194822 Author mcatanz...@igalia.com Date 2016-01-09 15:29:23 -0800 (Sat, 09 Jan 2016) Log Message [l10n] Updated Turkish translation of WebKitGTK+ https://bugs.webkit.org/show_bug.cgi?id=152948 "Reviewed" by Michael Catanzaro. Patch by Muhammet Karaon 2016-01-09 * tr.po: Modified Paths trunk/Source/WebCore/platform/gtk/po/ChangeLog trunk/Source/WebCore/platform/gtk/po/tr.po Diff Modified: trunk/Source/WebCore/platform/gtk/po/ChangeLog (194821 => 194822) --- trunk/Source/WebCore/platform/gtk/po/ChangeLog 2016-01-09 20:13:57 UTC (rev 194821) +++ trunk/Source/WebCore/platform/gtk/po/ChangeLog 2016-01-09 23:29:23 UTC (rev 194822) @@ -1,3 +1,12 @@ +2016-01-09 Muhammet Kara + +[l10n] Updated Turkish translation of WebKitGTK+ +https://bugs.webkit.org/show_bug.cgi?id=152948 + +"Reviewed" by Michael Catanzaro. + +* tr.po: + 2015-12-20 Bernd Homuth German translation update Modified: trunk/Source/WebCore/platform/gtk/po/tr.po (194821 => 194822) --- trunk/Source/WebCore/platform/gtk/po/tr.po 2016-01-09 20:13:57 UTC (rev 194821) +++ trunk/Source/WebCore/platform/gtk/po/tr.po 2016-01-09 23:29:23 UTC (rev 194822) @@ -6,14 +6,14 @@ # Sabri Ünal , 2014. # Furkan Usta , 2015. # Gökhan Gurbetoğlu , 2014, 2015. -# Muhammet Kara , 2014, 2015. +# Muhammet Kara , 2014, 2015, 2016. # msgid "" msgstr "" "Project-Id-Version: webkit HEAD\n" "Report-Msgid-Bugs-To: https://bugs.webkit.org\n" -"POT-Creation-Date: 2015-08-23 00:17+\n" -"PO-Revision-Date: 2015-08-23 03:32+0300\n" +"POT-Creation-Date: 2015-12-09 15:06+\n" +"PO-Revision-Date: 2016-01-09 22:26+0200\n" "Last-Translator: Muhammet Kara \n" "Language-Team: Türkçe \n" "Language: tr\n" @@ -31,35 +31,39 @@ msgid "Not allowed to use restricted network port" msgstr "Sınırlı ağ bağlantı noktası kullanmaya izin verilmiyor" -#: ../ErrorsGtk.cpp:45 +#: ../ErrorsGtk.cpp:44 +msgid "Blocked by content blocker" +msgstr "İçerik engelleyici tarafından engellendi" + +#: ../ErrorsGtk.cpp:50 msgid "URL cannot be shown" msgstr "URL gösterilemiyor" -#: ../ErrorsGtk.cpp:51 +#: ../ErrorsGtk.cpp:56 msgid "Frame load was interrupted" msgstr "Çerçeve yükleme kesintiye uğradı" -#: ../ErrorsGtk.cpp:57 +#: ../ErrorsGtk.cpp:62 msgid "Content with the specified MIME type cannot be shown" msgstr "Belirtilen MIME türündeki içerik gösterilemiyor" -#: ../ErrorsGtk.cpp:63 +#: ../ErrorsGtk.cpp:68 msgid "File does not exist" msgstr "Dosya mevcut değil" -#: ../ErrorsGtk.cpp:69 +#: ../ErrorsGtk.cpp:74 msgid "Plugin will handle load" msgstr "Yükleme işini eklenti halledecek" -#: ../ErrorsGtk.cpp:81 +#: ../ErrorsGtk.cpp:86 msgid "User cancelled the download" msgstr "Kullanıcı indirmeyi iptal etti" -#: ../ErrorsGtk.cpp:97 +#: ../ErrorsGtk.cpp:102 msgid "Printer not found" msgstr "Yazıcı bulunamadı" -#: ../ErrorsGtk.cpp:102 +#: ../ErrorsGtk.cpp:107 msgid "Invalid page range" msgstr "Geçersiz sayfa aralığı" @@ -363,8 +367,7 @@ msgid "Plug-in Failure" msgstr "Eklenti Hatası" -#. FIXME: If this file gets localized, this should really be localized as one -#. string with a wildcard for the number. +#. FIXME: If this file gets localized, this should really be localized as one string with a wildcard for the number. #: ../LocalizedStringsGtk.cpp:530 msgid " files" msgstr "dosya" @@ -615,7 +618,7 @@ msgid "Subtitle of the label to show on a snapshotted plug-in" msgstr "Görüntüsü alınan bir eklenti üzerinde gösterilecek etiket alt başlığı" -#: ../../../../WebKit2/Shared/Downloads/soup/DownloadSoup.cpp:99 +#: ../../../../WebKit2/Shared/Downloads/soup/DownloadSoup.cpp:100 #, c-format msgid "" "Cannot determine destination URI for download with suggested filename %s" @@ -640,8 +643,7 @@ msgid "Authentication required by %s:%i" msgstr "%s:%i tarafından kaynak doğrulama isteniyor" -#. Label on the HTTP authentication dialog. %s is a (probably English) message -#. from the website. +#. Label on the HTTP authentication dialog. %s is a (probably English) message from the website. #: ../../../../WebKit2/UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:131 #, c-format msgid "The site says: “%s”" @@ -1337,14 +1339,14 @@ msgid "Whether file access is allowed from file URLs." msgstr "Dosya adreslerinden (URL) dosya erişimine izin verilip verilmeyeceği." -#: ../../../../WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp:95 +#: ../../../../WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp:96 #: ../../../../WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp:105 #: ../../../../WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp:110 -#: ../../../../WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:913 +#:
[webkit-changes] [194823] trunk
Title: [194823] trunk Revision 194823 Author za...@apple.com Date 2016-01-09 16:38:56 -0800 (Sat, 09 Jan 2016) Log Message REGRESSION (r194426): First email field is not autofilled on amazon.com https://bugs.webkit.org/show_bug.cgi?id=152945 Reviewed by Simon Fraser. r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root). Source/WebCore: Test: fast/forms/multiple-subtree-layout-failure.html * page/FrameView.cpp: (WebCore::FrameView::scheduleRelayoutOfSubtree): LayoutTests: * fast/forms/multiple-subtree-layout-failure-expected.html: Added. * fast/forms/multiple-subtree-layout-failure.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/FrameView.cpp Added Paths trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure-expected.html trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure.html Diff Modified: trunk/LayoutTests/ChangeLog (194822 => 194823) --- trunk/LayoutTests/ChangeLog 2016-01-09 23:29:23 UTC (rev 194822) +++ trunk/LayoutTests/ChangeLog 2016-01-10 00:38:56 UTC (rev 194823) @@ -1,3 +1,16 @@ +2016-01-09 Zalan Bujtas+ +REGRESSION (r194426): First email field is not autofilled on amazon.com +https://bugs.webkit.org/show_bug.cgi?id=152945 + + +Reviewed by Simon Fraser. + +r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root). + +* fast/forms/multiple-subtree-layout-failure-expected.html: Added. +* fast/forms/multiple-subtree-layout-failure.html: Added. + 2016-01-08 Zalan Bujtas Absolute positioning -webkit-search-cancel-button crashes Safari. Added: trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure-expected.html (0 => 194823) --- trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure-expected.html (rev 0) +++ trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure-expected.html 2016-01-10 00:38:56 UTC (rev 194823) @@ -0,0 +1,10 @@ + + + +This tests when we issue subtree layout on multiple subtrees, they all get laid out properly. + + + + + + Added: trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure.html (0 => 194823) --- trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure.html (rev 0) +++ trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure.html 2016-01-10 00:38:56 UTC (rev 194823) @@ -0,0 +1,20 @@ + + + +This tests when we issue subtree layout on multiple subtrees, they all get laid out properly. + + + + + +if (window.testRunner) +testRunner.waitUntilDone(); +setTimeout(function() { +document.getElementById("test").value = "foobar"; +document.getElementById("test1").value = "foobar"; +if (window.testRunner) +testRunner.notifyDone(); +}, 0); + + + Modified: trunk/Source/WebCore/ChangeLog (194822 => 194823) --- trunk/Source/WebCore/ChangeLog 2016-01-09 23:29:23 UTC (rev 194822) +++ trunk/Source/WebCore/ChangeLog 2016-01-10 00:38:56 UTC (rev 194823) @@ -1,3 +1,18 @@ +2016-01-09 Zalan Bujtas + +REGRESSION (r194426): First email field is not autofilled on amazon.com +https://bugs.webkit.org/show_bug.cgi?id=152945 + + +Reviewed by Simon Fraser. + +r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root). + +Test: fast/forms/multiple-subtree-layout-failure.html + +* page/FrameView.cpp: +(WebCore::FrameView::scheduleRelayoutOfSubtree): + 2016-01-09 Dan Bernstein [Cocoa] Allow overriding the frameworks directory independently of using a staging install path Modified: trunk/Source/WebCore/page/FrameView.cpp (194822 => 194823) --- trunk/Source/WebCore/page/FrameView.cpp 2016-01-09 23:29:23 UTC (rev 194822) +++ trunk/Source/WebCore/page/FrameView.cpp 2016-01-10 00:38:56 UTC (rev 194823) @@ -2648,7 +2648,7 @@ return; if (!m_layoutRoot) { -// Just relayout the subtree. +// We already have a pending (full) layout. Just mark the subtree for layout. newRelayoutRoot.markContainingBlocksForLayout(ScheduleRelayout::No); InspectorInstrumentation::didInvalidateLayout(frame()); return; @@ -2669,10 +2669,9 @@ InspectorInstrumentation::didInvalidateLayout(frame()); return; } - -// Just do a full relayout. -m_layoutRoot = +// Two disjoint subtrees need layout. Mark both of them and issue a full layout instead. convertSubtreeLayoutToFullLayout(); +newRelayoutRoot.markContainingBlocksForLayout(ScheduleRelayout::No); InspectorInstrumentation::didInvalidateLayout(frame()); } ___ webkit-changes mailing list
[webkit-changes] [194824] trunk/Source/JavaScriptCore
Title: [194824] trunk/Source/_javascript_Core Revision 194824 Author fpi...@apple.com Date 2016-01-09 20:15:59 -0800 (Sat, 09 Jan 2016) Log Message Air should support Branch64 with immediates https://bugs.webkit.org/show_bug.cgi?id=152951 Reviewed by Oliver Hunt. This doesn't significantly improve performance on any benchmarks, but it's great to get this obvious omission out of the way. * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::branch64): * b3/air/AirOpcode.opcodes: * b3/testb3.cpp: (JSC::B3::testPowDoubleByIntegerLoop): (JSC::B3::testBranch64Equal): (JSC::B3::testBranch64EqualImm): (JSC::B3::testBranch64EqualMem): (JSC::B3::testBranch64EqualMemImm): (JSC::B3::zero): (JSC::B3::run): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes trunk/Source/_javascript_Core/b3/testb3.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (194823 => 194824) --- trunk/Source/_javascript_Core/ChangeLog 2016-01-10 00:38:56 UTC (rev 194823) +++ trunk/Source/_javascript_Core/ChangeLog 2016-01-10 04:15:59 UTC (rev 194824) @@ -1,3 +1,25 @@ +2016-01-09 Filip Pizlo+ +Air should support Branch64 with immediates +https://bugs.webkit.org/show_bug.cgi?id=152951 + +Reviewed by Oliver Hunt. + +This doesn't significantly improve performance on any benchmarks, but it's great to get this +obvious omission out of the way. + +* assembler/MacroAssemblerX86_64.h: +(JSC::MacroAssemblerX86_64::branch64): +* b3/air/AirOpcode.opcodes: +* b3/testb3.cpp: +(JSC::B3::testPowDoubleByIntegerLoop): +(JSC::B3::testBranch64Equal): +(JSC::B3::testBranch64EqualImm): +(JSC::B3::testBranch64EqualMem): +(JSC::B3::testBranch64EqualMemImm): +(JSC::B3::zero): +(JSC::B3::run): + 2016-01-09 Dan Bernstein [Cocoa] Allow overriding the frameworks directory independently of using a staging install path Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h (194823 => 194824) --- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h 2016-01-10 00:38:56 UTC (rev 194823) +++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86_64.h 2016-01-10 04:15:59 UTC (rev 194824) @@ -722,6 +722,16 @@ return Jump(m_assembler.jCC(x86Condition(cond))); } +Jump branch64(RelationalCondition cond, RegisterID left, TrustedImm32 right) +{ +if (((cond == Equal) || (cond == NotEqual)) && !right.m_value) { +m_assembler.testq_rr(left, left); +return Jump(m_assembler.jCC(x86Condition(cond))); +} +m_assembler.cmpq_ir(right.m_value, left); +return Jump(m_assembler.jCC(x86Condition(cond))); +} + Jump branch64(RelationalCondition cond, RegisterID left, TrustedImm64 right) { if (((cond == Equal) || (cond == NotEqual)) && !right.m_value) { @@ -750,6 +760,12 @@ return Jump(m_assembler.jCC(x86Condition(cond))); } +Jump branch64(RelationalCondition cond, Address left, TrustedImm32 right) +{ +m_assembler.cmpq_im(right.m_value, left.offset, left.base); +return Jump(m_assembler.jCC(x86Condition(cond))); +} + Jump branch64(RelationalCondition cond, Address left, TrustedImm64 right) { move(right, scratchRegister()); Modified: trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes (194823 => 194824) --- trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes 2016-01-10 00:38:56 UTC (rev 194823) +++ trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes 2016-01-10 04:15:59 UTC (rev 194824) @@ -540,8 +540,10 @@ 64: Branch64 U:G:32, U:G:64, U:G:64 /branch RelCond, Tmp, Tmp +RelCond, Tmp, Imm x86: RelCond, Tmp, Addr x86: RelCond, Addr, Tmp +x86: RelCond, Addr, Imm x86: RelCond, Index, Tmp BranchTest8 U:G:32, U:G:8, U:G:8 /branch Modified: trunk/Source/_javascript_Core/b3/testb3.cpp (194823 => 194824) --- trunk/Source/_javascript_Core/b3/testb3.cpp 2016-01-10 00:38:56 UTC (rev 194823) +++ trunk/Source/_javascript_Core/b3/testb3.cpp 2016-01-10 04:15:59 UTC (rev 194824) @@ -8868,6 +8868,134 @@ CHECK(isIdentical(compileAndRun(proc, xOperand, yOperand), pow(xOperand, yOperand))); } +void testBranch64Equal(int64_t left, int64_t right) +{ +Procedure proc; +BasicBlock* root = proc.addBlock(); +BasicBlock* thenCase = proc.addBlock(); +BasicBlock* elseCase = proc.addBlock(); + +Value* arg1 = root->appendNew(proc, Origin(), GPRInfo::argumentGPR0); +Value* arg2 = root->appendNew(proc, Origin(), GPRInfo::argumentGPR1); +root->appendNew( +proc, Branch, Origin(), +root->appendNew(proc, Equal, Origin(), arg1, arg2), +FrequentedBlock(thenCase), FrequentedBlock(elseCase)); + +bool
[webkit-changes] [194825] trunk/Source/WebCore
Title: [194825] trunk/Source/WebCore Revision 194825 Author simon.fra...@apple.com Date 2016-01-09 22:39:43 -0800 (Sat, 09 Jan 2016) Log Message Hook up display-list drawing in GraphicsLayerCA https://bugs.webkit.org/show_bug.cgi?id=152946 Reviewed by Zalan Bujtas. Have GraphicsLayerCA hold a DisplayList. If enabled, do a display-list record in GraphicsLayerCA::recursiveCommitChanges(), and a playback in GraphicsLayerCA::platformCALayerPaintContents(). GraphicsLayerCA needs to maintain a m_hasEverPainted flag to know to do a full record at first paint (when there are no dirty rects). Plumb 'isUsingDisplayListDrawing' through to TileGrid via PlatformCALayer{Client} so that we can decorate the tile paint counters with an outline. Have RenderLayerCompositor push the displayListDrawingEnabled state down through RenderLayerBackings to GraphicsLayers. Convert RenderLayerCompositor to use initializers. * platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::GraphicsLayer): * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::usesDisplayListDrawing): (WebCore::GraphicsLayer::setUsesDisplayListDrawing): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::GraphicsLayerCA): (WebCore::GraphicsLayerCA::setUsesDisplayListDrawing): (WebCore::GraphicsLayerCA::recursiveCommitChanges): (WebCore::GraphicsLayerCA::platformCALayerPaintContents): (WebCore::GraphicsLayerCA::updateDrawsContent): (WebCore::GraphicsLayerCA::dumpAdditionalProperties): * platform/graphics/ca/GraphicsLayerCA.h: * platform/graphics/ca/PlatformCALayer.cpp: (WebCore::PlatformCALayer::drawRepaintIndicator): * platform/graphics/ca/PlatformCALayerClient.h: (WebCore::PlatformCALayerClient::isUsingDisplayListDrawing): * platform/graphics/ca/TileGrid.cpp: (WebCore::TileGrid::platformCALayerShowRepaintCounter): (WebCore::TileGrid::isUsingDisplayListDrawing): * platform/graphics/ca/TileGrid.h: * platform/graphics/displaylists/DisplayList.h: Sadly need to include DisplayListItems.h to get things to compile. I wasn't able to avoid this even when making functions non-inline. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::RenderLayerCompositor): (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags): * rendering/RenderLayerCompositor.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/GraphicsLayer.cpp trunk/Source/WebCore/platform/graphics/GraphicsLayer.h trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.h trunk/Source/WebCore/platform/graphics/ca/PlatformCALayer.cpp trunk/Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h trunk/Source/WebCore/platform/graphics/ca/TileGrid.cpp trunk/Source/WebCore/platform/graphics/ca/TileGrid.h trunk/Source/WebCore/platform/graphics/displaylists/DisplayList.h trunk/Source/WebCore/rendering/RenderLayerBacking.cpp trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp trunk/Source/WebCore/rendering/RenderLayerCompositor.h Diff Modified: trunk/Source/WebCore/ChangeLog (194824 => 194825) --- trunk/Source/WebCore/ChangeLog 2016-01-10 04:15:59 UTC (rev 194824) +++ trunk/Source/WebCore/ChangeLog 2016-01-10 06:39:43 UTC (rev 194825) @@ -1,3 +1,54 @@ +2016-01-09 Simon Fraser+ +Hook up display-list drawing in GraphicsLayerCA +https://bugs.webkit.org/show_bug.cgi?id=152946 + +Reviewed by Zalan Bujtas. + +Have GraphicsLayerCA hold a DisplayList. If enabled, do a display-list record +in GraphicsLayerCA::recursiveCommitChanges(), and a playback in GraphicsLayerCA::platformCALayerPaintContents(). + +GraphicsLayerCA needs to maintain a m_hasEverPainted flag to know to do a full record +at first paint (when there are no dirty rects). + +Plumb 'isUsingDisplayListDrawing' through to TileGrid via PlatformCALayer{Client} +so that we can decorate the tile paint counters with an outline. + +Have RenderLayerCompositor push the displayListDrawingEnabled state down through +RenderLayerBackings to GraphicsLayers. + +Convert RenderLayerCompositor to use initializers. + +* platform/graphics/GraphicsLayer.cpp: +(WebCore::GraphicsLayer::GraphicsLayer): +* platform/graphics/GraphicsLayer.h: +(WebCore::GraphicsLayer::usesDisplayListDrawing): +(WebCore::GraphicsLayer::setUsesDisplayListDrawing): +* platform/graphics/ca/GraphicsLayerCA.cpp: +(WebCore::GraphicsLayerCA::GraphicsLayerCA): +(WebCore::GraphicsLayerCA::setUsesDisplayListDrawing): +(WebCore::GraphicsLayerCA::recursiveCommitChanges): +(WebCore::GraphicsLayerCA::platformCALayerPaintContents): +(WebCore::GraphicsLayerCA::updateDrawsContent): +