Changeset 278687 in webkit
- Timestamp:
- Jun 9, 2021, 6:32:37 PM (5 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r278672 r278687 1 2021-06-09 Fujii Hironori <Hironori.Fujii@sony.com> 2 3 clang-cl: JIT.h(966,67): error: no viable conversion from 'JSC::AbstractMacroAssembler<JSC::X86Assembler>::Address' to 'FunctionPtr<CFunctionPtrTag>' 4 https://bugs.webkit.org/show_bug.cgi?id=226850 5 6 Reviewed by Yusuke Suzuki. 7 8 WinCairo clang-cl builds got broken since r278656 (Bug 226072). 9 10 * jit/JIT.h: Use the common callOperation(Address, Args...) for 11 x64 Windows. Added static_assert to check the return type. 12 1 13 2021-06-09 Mark Lam <mark.lam@apple.com> 2 14 -
trunk/Source/JavaScriptCore/jit/JIT.h
r278656 r278687 955 955 return appendCallWithExceptionCheckAndSlowPathReturnType(operation); 956 956 } 957 958 template<typename OperationType, typename... Args>959 void callOperation(Address target, Args... args)960 {961 setupArgumentsForIndirectCall<OperationType>(target, args...);962 // x64 Windows cannot use standard call when the return type is larger than 64 bits.963 if constexpr (is64BitType<typename FunctionTraits<OperationType>::ResultType>::value)964 appendCallWithExceptionCheck(Address(GPRInfo::nonArgGPR0, target.offset));965 else966 appendCallWithExceptionCheckAndSlowPathReturnType(Address(GPRInfo::nonArgGPR0, target.offset));967 }968 957 #else // OS(WINDOWS) && CPU(X86_64) 969 958 template<typename OperationType, typename... Args> … … 973 962 return appendCallWithExceptionCheck(operation); 974 963 } 964 #endif // OS(WINDOWS) && CPU(X86_64) 975 965 976 966 template<typename OperationType, typename... Args> 977 967 void callOperation(Address target, Args... args) 978 968 { 969 #if OS(WINDOWS) && CPU(X86_64) 970 // x64 Windows cannot use standard call when the return type is larger than 64 bits. 971 static_assert(is64BitType<typename FunctionTraits<OperationType>::ResultType>::value); 972 #endif 979 973 setupArgumentsForIndirectCall<OperationType>(target, args...); 980 974 appendCallWithExceptionCheck(Address(GPRInfo::nonArgGPR0, target.offset)); 981 975 } 982 #endif // OS(WINDOWS) && CPU(X86_64)983 976 984 977 template<typename Metadata, typename OperationType, typename... Args>
Note:
See TracChangeset
for help on using the changeset viewer.