Bug 188589 - [JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg
Summary: [JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-08-14 16:46 PDT by Yusuke Suzuki
Modified: 2018-08-19 22:43 PDT (History)
8 users (show)

See Also:


Attachments
Patch (15.35 KB, patch)
2018-08-14 16:50 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (14.61 KB, patch)
2018-08-15 03:19 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (18.86 KB, patch)
2018-08-15 07:27 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (18.83 KB, patch)
2018-08-15 07:29 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (37.41 KB, patch)
2018-08-15 23:47 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (19.01 KB, patch)
2018-08-16 01:12 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (17.25 KB, patch)
2018-08-16 21:24 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (17.77 KB, patch)
2018-08-17 08:25 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 2018-08-14 16:46:24 PDT
[JSC] Add GPRReg::InvalidGPRReg and FPRReg::InvalidFPRReg
Comment 1 Yusuke Suzuki 2018-08-14 16:50:59 PDT
Created attachment 347131 [details]
Patch
Comment 2 EWS Watchlist 2018-08-14 16:53:41 PDT
Attachment 347131 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/assembler/ARMv7Assembler.h:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Mark Lam 2018-08-14 17:01:56 PDT
Comment on attachment 347131 [details]
Patch

r=me if EWS bots are happy.
Comment 4 Yusuke Suzuki 2018-08-14 17:48:45 PDT
(In reply to Mark Lam from comment #3)
> Comment on attachment 347131 [details]
> Patch
> 
> r=me if EWS bots are happy.

Thanks. I've fixed and ensured the patch is built with --debug. Landing.
Comment 5 Yusuke Suzuki 2018-08-14 17:50:57 PDT
Committed r234874: <https://trac.webkit.org/changeset/234874>
Comment 6 Radar WebKit Bug Importer 2018-08-14 17:51:41 PDT
<rdar://problem/43312565>
Comment 7 Yusuke Suzuki 2018-08-14 18:18:25 PDT
Committed r234876: <https://trac.webkit.org/changeset/234876>
Comment 8 Fujii Hironori 2018-08-14 20:56:02 PDT
WinCairo port can't compile.
https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Build%29/builds/2495/steps/compile-webkit/logs/stdio

> FAILED: Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource246.cpp.obj 
> "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64\cl.exe"  /nologo /TP -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebCore -DHAVE_CONFIG_H=1 -DNOMINMAX -DSTATICALLY_LINKED_WITH_PAL=1 -DUCHAR_TYPE=wchar_t -DUNICODE -DWINVER=0x601 -DWTF_PLATFORM_WIN_CAIRO=1 -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -D_WIN32_WINNT=0x601 -D_WINDOWS -D_WINSOCKAPI_="" -D__STDC_CONSTANT_MACROS -I..\..\WebKitLibraries\win\include -I. -I..\..\Source\WebCore -I..\..\Source\WebCore\Modules\airplay -I..\..\Source\WebCore\Modules\beacon -I..\..\Source\WebCore\Modules\applepay -I..\..\Source\WebCore\Modules\applepay\paymentrequest -I..\..\Source\WebCore\Modules\cache -I..\..\Source\WebCore\Modules\credentialmanagement -I..\..\Source\WebCore\Modules\encryptedmedia -I..\..\Source\WebCore\Modules\encryptedmedia\legacy -I..\..\Source\WebCore\Modules\entriesapi -I..\..\Source\WebCore\Modules\fetch -I..\..\Source\WebCore\Modules\geolocation -I..\..\Source\WebCore\Modules\indexeddb -I..\..\Source\WebCore\Modules\indexeddb\client -I..\..\Source\WebCore\Modules\indexeddb\server -I..\..\Source\WebCore\Modules\indexeddb\shared -I..\..\Source\WebCore\Modules\mediacapabilities -I..\..\Source\WebCore\Modules\mediacontrols -I..\..\Source\WebCore\Modules\mediasession -I..\..\Source\WebCore\Modules\mediasource -I..\..\Source\WebCore\Modules\mediastream -I..\..\Source\WebCore\Modules\navigatorcontentutils -I..\..\Source\WebCore\Modules\notifications -I..\..\Source\WebCore\Modules\paymentrequest -I..\..\Source\WebCore\Modules\plugins -I..\..\Source\WebCore\Modules\quota -I..\..\Source\WebCore\Modules\speech -I..\..\Source\WebCore\Modules\streams -I..\..\Source\WebCore\Modules\webaudio -I..\..\Source\WebCore\Modules\webauthn -I..\..\Source\WebCore\Modules\webdatabase -I..\..\Source\WebCore\Modules\webdriver -I..\..\Source\WebCore\Modules\websockets -I..\..\Source\WebCore\Modules\webvr -I..\..\Source\WebCore\accessibility -I..\..\Source\WebCore\animation -I..\..\Source\WebCore\bindings -I..\..\Source\WebCore\bindings\js -I..\..\Source\WebCore\bridge -I..\..\Source\WebCore\bridge\c -I..\..\Source\WebCore\bridge\jsc -I..\..\Source\WebCore\contentextensions -I..\..\Source\WebCore\crypto -I..\..\Source\WebCore\crypto\algorithms -I..\..\Source\WebCore\crypto\keys -I..\..\Source\WebCore\crypto\parameters -I..\..\Source\WebCore\css -I..\..\Source\WebCore\css\parser -I..\..\Source\WebCore\cssjit -I..\..\Source\WebCore\dom -I..\..\Source\WebCore\dom\default -I..\..\Source\WebCore\dom\messageports -I..\..\Source\WebCore\domjit -I..\..\Source\WebCore\editing -I..\..\Source\WebCore\fileapi -I..\..\Source\WebCore\history -I..\..\Source\WebCore\html -I..\..\Source\WebCore\html\canvas -I..\..\Source\WebCore\html\forms -I..\..\Source\WebCore\html\parser -I..\..\Source\WebCore\html\shadow -I..\..\Source\WebCore\html\track -I..\..\Source\WebCore\inspector -I..\..\Source\WebCore\inspector\agents -I..\..\Source\WebCore\inspector\agents\page -I..\..\Source\WebCore\inspector\agents\worker -I..\..\Source\WebCore\loader -I..\..\Source\WebCore\loader\appcache -I..\..\Source\WebCore\loader\archive -I..\..\Source\WebCore\loader\archive\mhtml -I..\..\Source\WebCore\loader\cache -I..\..\Source\WebCore\loader\icon -I..\..\Source\WebCore\mathml -I..\..\Source\WebCore\page -I..\..\Source\WebCore\page\animation -I..\..\Source\WebCore\page\csp -I..\..\Source\WebCore\page\scrolling -I..\..\Source\WebCore\platform -I..\..\Source\WebCore\platform\animation -I..\..\Source\WebCore\platform\audio -I..\..\Source\WebCore\platform\crypto -I..\..\Source\WebCore\platform\encryptedmedia -I..\..\Source\WebCore\platform\gamepad -I..\..\Source\WebCore\platform\graphics -I..\..\Source\WebCore\platform\graphics\cpu\arm -I..\..\Source\WebCore\platform\graphics\cpu\arm\filters -I..\..\Source\WebCore\platform\graphics\displaylists -I..\..\Source\WebCore\platform\graphics\filters -I..\..\Source\WebCore\platform\graphics\harfbuzz -I..\..\Source\WebCore\platform\graphics\harfbuzz\ng -I..\..\Source\WebCore\platform\graphics\iso -I..\..\Source\WebCore\platform\graphics\opentype -I..\..\Source\WebCore\platform\graphics\transforms -I..\..\Source\WebCore\platform\mediastream -I..\..\Source\WebCore\platform\mediastream\libwebrtc -I..\..\Source\WebCore\platform\mock -I..\..\Source\WebCore\platform\mock\mediasource -I..\..\Source\WebCore\platform\network -I..\..\Source\WebCore\platform\sql -I..\..\Source\WebCore\platform\text -I..\..\Source\WebCore\platform\text\icu -I..\..\Source\WebCore\platform\vr -I..\..\Source\WebCore\plugins -I..\..\Source\WebCore\rendering -I..\..\Source\WebCore\rendering\line -I..\..\Source\WebCore\rendering\mathml -I..\..\Source\WebCore\rendering\shapes -I..\..\Source\WebCore\rendering\style -I..\..\Source\WebCore\rendering\svg -I..\..\Source\WebCore\rendering\updating -I..\..\Source\WebCore\replay -I..\..\Source\WebCore\storage -I..\..\Source\WebCore\style -I..\..\Source\WebCore\svg -I..\..\Source\WebCore\svg\animation -I..\..\Source\WebCore\svg\graphics -I..\..\Source\WebCore\svg\graphics\filters -I..\..\Source\WebCore\svg\properties -I..\..\Source\WebCore\websockets -I..\..\Source\WebCore\workers -I..\..\Source\WebCore\workers\service -I..\..\Source\WebCore\workers\service\context -I..\..\Source\WebCore\workers\service\server -I..\..\Source\WebCore\xml -I..\..\Source\WebCore\xml\parser -IDerivedSources\WebCore -IDerivedSources\ForwardingHeaders\ANGLE -I..\..\Source\WebCore\platform\graphics\gpu -IDerivedSources\ForwardingHeaders -I..\include\private -I..\include\private\JavaScriptCore -I..\..\Source\WebCore\accessibility\win -I..\..\Source\WebCore\page\win -I..\..\Source\WebCore\platform\graphics\egl -I..\..\Source\WebCore\platform\graphics\opengl -I..\..\Source\WebCore\platform\graphics\win -I..\..\Source\WebCore\platform\mediacapabilities -I..\..\Source\WebCore\platform\network\win -I..\..\Source\WebCore\platform\win -I..\..\Source\ThirdParty\ANGLE\include -I..\..\Source\ThirdParty\ANGLE\include\egl -IDerivedSources\PAL -I..\..\Source\WebCore\platform\cf -I..\..\Source\WebCore\platform\cf\win -I..\..\Source\WebCore\platform\graphics\cairo -I..\..\Source\WebCore\platform\network\curl -I..\..\Source\WebCore\platform\image-decoders -I..\..\Source\WebCore\platform\image-decoders\bmp -I..\..\Source\WebCore\platform\image-decoders\gif -I..\..\Source\WebCore\platform\image-decoders\ico -I..\..\Source\WebCore\platform\image-decoders\jpeg -I..\..\Source\WebCore\platform\image-decoders\png -I..\..\Source\WebCore\platform\image-decoders\webp -I..\..\Source\WebCore\platform\graphics\texmap -I..\..\Source\WebCore\loader\archive\cf -I..\..\WebKitLibraries\win\include\cairo -I..\..\Source\bmalloc -IDerivedSources -I..\..\Source\ThirdParty /DWIN32 /D_WINDOWS /W4 /GR- /EHs- /EHc-  /MD /O2 /Ob2 /DNDEBUG   /bigobj /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189 /wd4201 /wd4206 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288 /wd4291 /wd4305 /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4456 /wd4457 /wd4458 /wd4459 /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4611 /wd4646 /wd4702 /wd4706 /wd4722 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011 /wd6031 /wd6211 /wd6246 /wd6255 /wd6387 /Zi /GS /EHa- /EHc- /EHs- /fp:except- /analyze- /bigobj /Gy- /openmp- /GF- /std:c++17 /utf-8 /validate-charset /Oy- /Yu"WebCorePrefix.h" /FI"WebCorePrefix.h" /Fp"C:/WebKit-BuildWorker/wincairo-wkl-release/build/WebKitBuild/Release/Source/WebCore/WebCore_SOURCES/WebCorePrefix.pch" /showIncludes /FoSource\WebCore\CMakeFiles\WebCore.dir\__\__\DerivedSources\WebCore\unified-sources\UnifiedSource246.cpp.obj /Fdlib64\WebCore.pdb /FS -c DerivedSources\WebCore\unified-sources\UnifiedSource246.cpp
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(108): error C2666: 'WebCore::operator -': 7 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(156): note: could be 'WebCore::FloatPoint3D WebCore::operator -(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(119): note: or       'WebCore::FontSelectionValue WebCore::operator -(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(140): note: or       'WebCore::LayoutPoint WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(135): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(162): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntRect.h(237): note: or       'WebCore::IntRect WebCore::operator -(const WebCore::IntRect &,const WebCore::IntPoint &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(655): note: or       'float WebCore::operator -(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(650): note: or       'WebCore::LayoutUnit WebCore::operator -(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(645): note: or       'float WebCore::operator -(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(640): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,unsigned int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(635): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(628): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(229): note: or       'WebCore::FloatPoint WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(224): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(180): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(184): note: or       'WebCore::IntPoint WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(179): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(198): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(108): note: or       'built-in C++ operator-(JSC::X86Assembler::RegisterID, JSC::X86Assembler::RegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(108): note: while trying to match the argument list '(JSC::X86Assembler::RegisterID, JSC::X86Assembler::RegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(108): error C3615: constexpr function 'JSC::X86Assembler::numberOfRegisters' cannot result in a constant expression
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(108): note: failure was caused by control reaching the end of a constexpr function
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(114): error C2666: 'WebCore::operator -': 7 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(156): note: could be 'WebCore::FloatPoint3D WebCore::operator -(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(119): note: or       'WebCore::FontSelectionValue WebCore::operator -(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(140): note: or       'WebCore::LayoutPoint WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(135): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(162): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntRect.h(237): note: or       'WebCore::IntRect WebCore::operator -(const WebCore::IntRect &,const WebCore::IntPoint &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(655): note: or       'float WebCore::operator -(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(650): note: or       'WebCore::LayoutUnit WebCore::operator -(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(645): note: or       'float WebCore::operator -(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(640): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,unsigned int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(635): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(628): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(229): note: or       'WebCore::FloatPoint WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(224): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(180): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(184): note: or       'WebCore::IntPoint WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(179): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(198): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(114): note: or       'built-in C++ operator-(JSC::X86Assembler::SPRegisterID, JSC::X86Assembler::SPRegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(114): note: while trying to match the argument list '(JSC::X86Assembler::SPRegisterID, JSC::X86Assembler::SPRegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(114): error C3615: constexpr function 'JSC::X86Assembler::numberOfSPRegisters' cannot result in a constant expression
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(114): note: failure was caused by control reaching the end of a constexpr function
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(128): error C2666: 'WebCore::operator -': 7 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(156): note: could be 'WebCore::FloatPoint3D WebCore::operator -(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(119): note: or       'WebCore::FontSelectionValue WebCore::operator -(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(140): note: or       'WebCore::LayoutPoint WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(135): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(162): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntRect.h(237): note: or       'WebCore::IntRect WebCore::operator -(const WebCore::IntRect &,const WebCore::IntPoint &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(655): note: or       'float WebCore::operator -(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(650): note: or       'WebCore::LayoutUnit WebCore::operator -(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(645): note: or       'float WebCore::operator -(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(640): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,unsigned int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(635): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(628): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(229): note: or       'WebCore::FloatPoint WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(224): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(180): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(184): note: or       'WebCore::IntPoint WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(179): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(198): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(128): note: or       'built-in C++ operator-(JSC::X86Assembler::FPRegisterID, JSC::X86Assembler::FPRegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(128): note: while trying to match the argument list '(JSC::X86Assembler::FPRegisterID, JSC::X86Assembler::FPRegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(128): error C3615: constexpr function 'JSC::X86Assembler::numberOfFPRegisters' cannot result in a constant expression
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(128): note: failure was caused by control reaching the end of a constexpr function
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(133): error C2131: expression did not evaluate to a constant
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(133): note: function violates 'constexpr' rules or has errors
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(133): note: see usage of 'JSC::X86Assembler::numberOfRegisters'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(150): error C2131: expression did not evaluate to a constant
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(150): note: function violates 'constexpr' rules or has errors
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(150): note: see usage of 'JSC::X86Assembler::numberOfSPRegisters'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(163): error C2131: expression did not evaluate to a constant
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(163): note: function violates 'constexpr' rules or has errors
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\X86Assembler.h(163): note: see usage of 'JSC::X86Assembler::numberOfFPRegisters'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(106): error C2666: 'WebCore::operator +': 8 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(151): note: could be 'WebCore::FloatPoint3D WebCore::operator +(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(114): note: or       'WebCore::FontSelectionValue WebCore::operator +(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(130): note: or       'WebCore::LayoutPoint WebCore::operator +(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(125): note: or       'WebCore::LayoutPoint WebCore::operator +(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(157): note: or       'WebCore::LayoutSize WebCore::operator +(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(623): note: or       'double WebCore::operator +(const double,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(618): note: or       'float WebCore::operator +(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(613): note: or       'WebCore::LayoutUnit WebCore::operator +(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(608): note: or       'double WebCore::operator +(const WebCore::LayoutUnit &,double)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(603): note: or       'float WebCore::operator +(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(598): note: or       'WebCore::LayoutUnit WebCore::operator +(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(591): note: or       'WebCore::LayoutUnit WebCore::operator +(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatRect.h(237): note: or       'WebCore::FloatRect WebCore::operator +(const WebCore::FloatRect &,const WebCore::FloatRect &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(219): note: or       'WebCore::FloatPoint WebCore::operator +(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(214): note: or       'WebCore::FloatPoint WebCore::operator +(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(175): note: or       'WebCore::FloatSize WebCore::operator +(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(174): note: or       'WebCore::IntPoint WebCore::operator +(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(169): note: or       'WebCore::IntPoint WebCore::operator +(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(193): note: or       'WebCore::IntSize WebCore::operator +(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(106): note: or       'built-in C++ operator+(JSC::X86Registers::RegisterID, int)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(106): note: while trying to match the argument list '(JSC::X86Registers::RegisterID, int)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(104): error C3615: constexpr function 'JSC::MacroAssembler::nextRegister' cannot result in a constant expression
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(107): note: failure was caused by control reaching the end of a constexpr function
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(111): error C2666: 'WebCore::operator +': 8 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(151): note: could be 'WebCore::FloatPoint3D WebCore::operator +(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(114): note: or       'WebCore::FontSelectionValue WebCore::operator +(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(130): note: or       'WebCore::LayoutPoint WebCore::operator +(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(125): note: or       'WebCore::LayoutPoint WebCore::operator +(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(157): note: or       'WebCore::LayoutSize WebCore::operator +(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(623): note: or       'double WebCore::operator +(const double,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(618): note: or       'float WebCore::operator +(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(613): note: or       'WebCore::LayoutUnit WebCore::operator +(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(608): note: or       'double WebCore::operator +(const WebCore::LayoutUnit &,double)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(603): note: or       'float WebCore::operator +(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(598): note: or       'WebCore::LayoutUnit WebCore::operator +(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(591): note: or       'WebCore::LayoutUnit WebCore::operator +(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatRect.h(237): note: or       'WebCore::FloatRect WebCore::operator +(const WebCore::FloatRect &,const WebCore::FloatRect &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(219): note: or       'WebCore::FloatPoint WebCore::operator +(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(214): note: or       'WebCore::FloatPoint WebCore::operator +(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(175): note: or       'WebCore::FloatSize WebCore::operator +(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(174): note: or       'WebCore::IntPoint WebCore::operator +(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(169): note: or       'WebCore::IntPoint WebCore::operator +(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(193): note: or       'WebCore::IntSize WebCore::operator +(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(111): note: or       'built-in C++ operator+(JSC::X86Registers::XMMRegisterID, int)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(111): note: while trying to match the argument list '(JSC::X86Registers::XMMRegisterID, int)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(109): error C3615: constexpr function 'JSC::MacroAssembler::nextFPRegister' cannot result in a constant expression
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(112): note: failure was caused by control reaching the end of a constexpr function
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(116): error C2666: 'WebCore::operator -': 7 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(156): note: could be 'WebCore::FloatPoint3D WebCore::operator -(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(119): note: or       'WebCore::FontSelectionValue WebCore::operator -(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(140): note: or       'WebCore::LayoutPoint WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(135): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(162): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntRect.h(237): note: or       'WebCore::IntRect WebCore::operator -(const WebCore::IntRect &,const WebCore::IntPoint &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(655): note: or       'float WebCore::operator -(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(650): note: or       'WebCore::LayoutUnit WebCore::operator -(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(645): note: or       'float WebCore::operator -(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(640): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,unsigned int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(635): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(628): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(229): note: or       'WebCore::FloatPoint WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(224): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(180): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(184): note: or       'WebCore::IntPoint WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(179): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(198): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(116): note: or       'built-in C++ operator-(JSC::X86Registers::RegisterID, JSC::X86Registers::RegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(116): note: while trying to match the argument list '(JSC::X86Registers::RegisterID, JSC::X86Registers::RegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(114): error C3615: constexpr function 'JSC::MacroAssembler::registerIndex' cannot result in a constant expression
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(117): note: failure was caused by control reaching the end of a constexpr function
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(121): error C2666: 'WebCore::operator -': 7 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(156): note: could be 'WebCore::FloatPoint3D WebCore::operator -(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(119): note: or       'WebCore::FontSelectionValue WebCore::operator -(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(140): note: or       'WebCore::LayoutPoint WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(135): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(162): note: or       'WebCore::LayoutSize WebCore::operator -(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntRect.h(237): note: or       'WebCore::IntRect WebCore::operator -(const WebCore::IntRect &,const WebCore::IntPoint &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(655): note: or       'float WebCore::operator -(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(650): note: or       'WebCore::LayoutUnit WebCore::operator -(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(645): note: or       'float WebCore::operator -(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(640): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,unsigned int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(635): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(628): note: or       'WebCore::LayoutUnit WebCore::operator -(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(229): note: or       'WebCore::FloatPoint WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(224): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(180): note: or       'WebCore::FloatSize WebCore::operator -(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(184): note: or       'WebCore::IntPoint WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(179): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(198): note: or       'WebCore::IntSize WebCore::operator -(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(121): note: or       'built-in C++ operator-(JSC::X86Registers::XMMRegisterID, JSC::X86Registers::XMMRegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(121): note: while trying to match the argument list '(JSC::X86Registers::XMMRegisterID, JSC::X86Registers::XMMRegisterID)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(119): error C3615: constexpr function 'JSC::MacroAssembler::fpRegisterIndex' cannot result in a constant expression
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\MacroAssembler.h(122): note: failure was caused by control reaching the end of a constexpr function
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\Reg.h(129): error C2666: 'WebCore::operator +': 8 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(151): note: could be 'WebCore::FloatPoint3D WebCore::operator +(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(114): note: or       'WebCore::FontSelectionValue WebCore::operator +(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(130): note: or       'WebCore::LayoutPoint WebCore::operator +(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(125): note: or       'WebCore::LayoutPoint WebCore::operator +(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(157): note: or       'WebCore::LayoutSize WebCore::operator +(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(623): note: or       'double WebCore::operator +(const double,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(618): note: or       'float WebCore::operator +(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(613): note: or       'WebCore::LayoutUnit WebCore::operator +(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(608): note: or       'double WebCore::operator +(const WebCore::LayoutUnit &,double)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(603): note: or       'float WebCore::operator +(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(598): note: or       'WebCore::LayoutUnit WebCore::operator +(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(591): note: or       'WebCore::LayoutUnit WebCore::operator +(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatRect.h(237): note: or       'WebCore::FloatRect WebCore::operator +(const WebCore::FloatRect &,const WebCore::FloatRect &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(219): note: or       'WebCore::FloatPoint WebCore::operator +(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(214): note: or       'WebCore::FloatPoint WebCore::operator +(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(175): note: or       'WebCore::FloatSize WebCore::operator +(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(174): note: or       'WebCore::IntPoint WebCore::operator +(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(169): note: or       'WebCore::IntPoint WebCore::operator +(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(193): note: or       'WebCore::IntSize WebCore::operator +(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\Reg.h(129): note: or       'built-in C++ operator+(JSC::X86Registers::RegisterID, uint8_t)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\Reg.h(129): note: while trying to match the argument list '(JSC::X86Registers::RegisterID, const uint8_t)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\Reg.h(136): error C2666: 'WebCore::operator +': 8 overloads have similar conversions
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\graphics\FloatPoint3D.h(151): note: could be 'WebCore::FloatPoint3D WebCore::operator +(const WebCore::FloatPoint3D &,const WebCore::FloatPoint3D &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FontSelectionAlgorithm.h(114): note: or       'WebCore::FontSelectionValue WebCore::operator +(WebCore::FontSelectionValue,WebCore::FontSelectionValue)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(130): note: or       'WebCore::LayoutPoint WebCore::operator +(const WebCore::LayoutPoint &,const WebCore::LayoutPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutPoint.h(125): note: or       'WebCore::LayoutPoint WebCore::operator +(const WebCore::LayoutPoint &,const WebCore::LayoutSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\LayoutSize.h(157): note: or       'WebCore::LayoutSize WebCore::operator +(const WebCore::LayoutSize &,const WebCore::LayoutSize &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(623): note: or       'double WebCore::operator +(const double,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(618): note: or       'float WebCore::operator +(const float,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(613): note: or       'WebCore::LayoutUnit WebCore::operator +(const int,const WebCore::LayoutUnit &)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(608): note: or       'double WebCore::operator +(const WebCore::LayoutUnit &,double)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(603): note: or       'float WebCore::operator +(const WebCore::LayoutUnit &,float)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(598): note: or       'WebCore::LayoutUnit WebCore::operator +(const WebCore::LayoutUnit &,int)'
> C:\WebKit-BuildWorker\wincairo-wkl-release\build\Source\WebCore\platform\LayoutUnit.h(591): note: or       'WebCore::LayoutUnit WebCore::operator +(const WebCore::LayoutUnit &,const WebCore::LayoutUnit &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatRect.h(237): note: or       'WebCore::FloatRect WebCore::operator +(const WebCore::FloatRect &,const WebCore::FloatRect &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(219): note: or       'WebCore::FloatPoint WebCore::operator +(const WebCore::FloatPoint &,const WebCore::FloatPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatPoint.h(214): note: or       'WebCore::FloatPoint WebCore::operator +(const WebCore::FloatPoint &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\FloatSize.h(175): note: or       'WebCore::FloatSize WebCore::operator +(const WebCore::FloatSize &,const WebCore::FloatSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(174): note: or       'WebCore::IntPoint WebCore::operator +(const WebCore::IntPoint &,const WebCore::IntPoint &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntPoint.h(169): note: or       'WebCore::IntPoint WebCore::operator +(const WebCore::IntPoint &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\source\webcore\platform\graphics\IntSize.h(193): note: or       'WebCore::IntSize WebCore::operator +(const WebCore::IntSize &,const WebCore::IntSize &)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\Reg.h(136): note: or       'built-in C++ operator+(JSC::X86Registers::XMMRegisterID, unsigned int)'
> c:\webkit-buildworker\wincairo-wkl-release\build\webkitbuild\release\derivedsources\forwardingheaders\javascriptcore\Reg.h(136): note: while trying to match the argument list '(JSC::X86Registers::XMMRegisterID, unsigned int)'
Comment 9 Fujii Hironori 2018-08-14 21:47:21 PDT
Reverted r234874 and r234876 for reason:

WinCairo port can't compile

Committed r234880: <https://trac.webkit.org/changeset/234880>
Comment 10 Fujii Hironori 2018-08-14 21:47:23 PDT
Reverted r234874 and r234876 for reason:

WinCairo port can't compile

Committed r234880: <https://trac.webkit.org/changeset/234880>
Comment 11 Fujii Hironori 2018-08-15 03:19:44 PDT
Created attachment 347154 [details]
Patch
Comment 12 Fujii Hironori 2018-08-15 03:21:15 PDT
One possible workaround seems removing " : int8_t" of RegisterID, SPRegisterID and XMMRegisterID.
Comment 13 EWS Watchlist 2018-08-15 03:22:41 PDT
Attachment 347154 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/assembler/ARMv7Assembler.h:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 14 Yusuke Suzuki 2018-08-15 06:50:39 PDT
(In reply to Fujii Hironori from comment #12)
> One possible workaround seems removing " : int8_t" of RegisterID,
> SPRegisterID and XMMRegisterID.

I don't think it is good. JSValueRegs holds `int8_t` previously. This patch uses more strongly typed GPRReg instead. If you change the size of GPRReg to int32_t, it enlarges the size of JSValueRegs, which is not acceptable in terms of memory consumption of JSC (JSValueRegs are held in our IC generators).
Comment 15 Yusuke Suzuki 2018-08-15 07:27:44 PDT
Created attachment 347160 [details]
Patch

Add workaround
Comment 16 Yusuke Suzuki 2018-08-15 07:29:20 PDT
Created attachment 347161 [details]
Patch

Add workaround
Comment 17 EWS Watchlist 2018-08-15 07:32:25 PDT
Attachment 347161 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/assembler/ARMv7Assembler.h:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 18 Fujii Hironori 2018-08-15 23:47:15 PDT
Created attachment 347250 [details]
Patch

* Added uint8_t version of operator+/-.
Comment 19 Fujii Hironori 2018-08-16 01:12:26 PDT
Created attachment 347253 [details]
Patch
Comment 20 EWS Watchlist 2018-08-16 01:15:23 PDT
Attachment 347253 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/assembler/ARMv7Assembler.h:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 21 Fujii Hironori 2018-08-16 20:53:58 PDT
It seems that this issue is caused by following conditions.

1. Unified source build
2. A source file having "using namespace WebCore;".
3. #include <JavaScriptCore/X86Assembler.h> after "using namespace WebCore;" 


> #include "config.h"
> #include "IntRect.h"
> 
> using namespace WebCore;
> 
> #include <JavaScriptCore/X86Assembler.h>
Comment 22 Fujii Hironori 2018-08-16 21:24:34 PDT
Created attachment 347349 [details]
Patch

* Removed JSC_DEFINE_OPERATORS_FOR_REGISTERS
* Removed "using namespace WebCore;" in HTMLKeygenElement.cpp
* Not updated your ChangeLog
Comment 23 EWS Watchlist 2018-08-16 21:26:19 PDT
Attachment 347349 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/assembler/ARMv7Assembler.h:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 24 Yusuke Suzuki 2018-08-17 07:55:21 PDT
(In reply to Fujii Hironori from comment #21)
> It seems that this issue is caused by following conditions.
> 
> 1. Unified source build
> 2. A source file having "using namespace WebCore;".
> 3. #include <JavaScriptCore/X86Assembler.h> after "using namespace WebCore;" 
> 
> 
> > #include "config.h"
> > #include "IntRect.h"
> > 
> > using namespace WebCore;
> > 
> > #include <JavaScriptCore/X86Assembler.h>

Super nice catch!!! I completely missed this can happen!
Comment 25 Yusuke Suzuki 2018-08-17 08:19:52 PDT
Maybe, I think we should remove `using namespace XXX` as much as possible since we are now deploying unified builds. But I think this should be done in a separate patch.
In the meantime, for this patch, removing it in HTMLKeygenElement.cpp seems enough to me.

r=me for Hironori's change. I'll land this patch.
Comment 26 Yusuke Suzuki 2018-08-17 08:25:25 PDT
Created attachment 347360 [details]
Patch

Patch for landing
Comment 27 Yusuke Suzuki 2018-08-17 08:26:31 PDT
Committed r234984: <https://trac.webkit.org/changeset/234984>
Comment 28 Darin Adler 2018-08-18 14:46:16 PDT
(In reply to Yusuke Suzuki from comment #25)
> I think we should remove `using namespace XXX` as much as possible

Yes, I think we should move this over time. Unified builds makes it a risky approach, and I think it’s always been risky from a "reduced clarity" point of view.
Comment 29 Fujii Hironori 2018-08-19 22:31:46 PDT
I created a repro and reported.

https://godbolt.org/z/1K9RZ4
https://gist.github.com/fujii/b02ba3d716d566481d0d3bb1c7c1b296
https://developercommunity.visualstudio.com/content/problem/315575/overload-resolution-for-built-in-operator-and-enum.html

It seems for me it is also another risky code of LayoutUnit's non-explicit constructors.
Comment 30 Fujii Hironori 2018-08-19 22:43:10 PDT
Filed the issue of Comment 25 and Comment 28.

  Bug 188739 - Don't place "using namespace XXX;" in global space for unified source builds