Title: [278687] trunk/Source/_javascript_Core
- Revision
- 278687
- Author
- [email protected]
- Date
- 2021-06-09 18:32:37 -0700 (Wed, 09 Jun 2021)
Log Message
clang-cl: JIT.h(966,67): error: no viable conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'FunctionPtr<CFunctionPtrTag>'
https://bugs.webkit.org/show_bug.cgi?id=226850
Reviewed by Yusuke Suzuki.
WinCairo clang-cl builds got broken since r278656 (Bug 226072).
* jit/JIT.h: Use the common callOperation(Address, Args...) for
x64 Windows. Added static_assert to check the return type.
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (278686 => 278687)
--- trunk/Source/_javascript_Core/ChangeLog 2021-06-10 01:15:23 UTC (rev 278686)
+++ trunk/Source/_javascript_Core/ChangeLog 2021-06-10 01:32:37 UTC (rev 278687)
@@ -1,3 +1,15 @@
+2021-06-09 Fujii Hironori <[email protected]>
+
+ clang-cl: JIT.h(966,67): error: no viable conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'FunctionPtr<CFunctionPtrTag>'
+ https://bugs.webkit.org/show_bug.cgi?id=226850
+
+ Reviewed by Yusuke Suzuki.
+
+ WinCairo clang-cl builds got broken since r278656 (Bug 226072).
+
+ * jit/JIT.h: Use the common callOperation(Address, Args...) for
+ x64 Windows. Added static_assert to check the return type.
+
2021-06-09 Mark Lam <[email protected]>
Speculative build fix for Win32.
Modified: trunk/Source/_javascript_Core/jit/JIT.h (278686 => 278687)
--- trunk/Source/_javascript_Core/jit/JIT.h 2021-06-10 01:15:23 UTC (rev 278686)
+++ trunk/Source/_javascript_Core/jit/JIT.h 2021-06-10 01:32:37 UTC (rev 278687)
@@ -954,17 +954,6 @@
return appendCallWithExceptionCheck(operation);
return appendCallWithExceptionCheckAndSlowPathReturnType(operation);
}
-
- template<typename OperationType, typename... Args>
- void callOperation(Address target, Args... args)
- {
- setupArgumentsForIndirectCall<OperationType>(target, args...);
- // x64 Windows cannot use standard call when the return type is larger than 64 bits.
- if constexpr (is64BitType<typename FunctionTraits<OperationType>::ResultType>::value)
- appendCallWithExceptionCheck(Address(GPRInfo::nonArgGPR0, target.offset));
- else
- appendCallWithExceptionCheckAndSlowPathReturnType(Address(GPRInfo::nonArgGPR0, target.offset));
- }
#else // OS(WINDOWS) && CPU(X86_64)
template<typename OperationType, typename... Args>
MacroAssembler::Call callOperation(OperationType operation, Args... args)
@@ -972,14 +961,18 @@
setupArguments<OperationType>(args...);
return appendCallWithExceptionCheck(operation);
}
+#endif // OS(WINDOWS) && CPU(X86_64)
template<typename OperationType, typename... Args>
void callOperation(Address target, Args... args)
{
+#if OS(WINDOWS) && CPU(X86_64)
+ // x64 Windows cannot use standard call when the return type is larger than 64 bits.
+ static_assert(is64BitType<typename FunctionTraits<OperationType>::ResultType>::value);
+#endif
setupArgumentsForIndirectCall<OperationType>(target, args...);
appendCallWithExceptionCheck(Address(GPRInfo::nonArgGPR0, target.offset));
}
-#endif // OS(WINDOWS) && CPU(X86_64)
template<typename Metadata, typename OperationType, typename... Args>
std::enable_if_t<FunctionTraits<OperationType>::hasResult, MacroAssembler::Call>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes