Unreviewed, build fix due to C++17's std::invoke_result_t
authorysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Jul 2019 23:15:57 +0000 (23:15 +0000)
committerysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 25 Jul 2019 23:15:57 +0000 (23:15 +0000)
https://bugs.webkit.org/show_bug.cgi?id=200139

Use std::result_of for now until all the supported environments implement it.

* heap/IsoSubspace.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247844 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/heap/IsoSubspace.h

index cf626d0..4cd9b62 100644 (file)
@@ -1,5 +1,14 @@
 2019-07-25  Yusuke Suzuki  <ysuzuki@apple.com>
 
+        Unreviewed, build fix due to C++17's std::invoke_result_t
+        https://bugs.webkit.org/show_bug.cgi?id=200139
+
+        Use std::result_of for now until all the supported environments implement it.
+
+        * heap/IsoSubspace.h:
+
+2019-07-25  Yusuke Suzuki  <ysuzuki@apple.com>
+
         [JSC] Ensure PackedCellPtr only takes non-large-allocation pointers
         https://bugs.webkit.org/show_bug.cgi?id=200139
 
index f4d922b..e516ca3 100644 (file)
@@ -72,7 +72,7 @@ ALWAYS_INLINE Allocator IsoSubspace::allocatorForNonVirtual(size_t size, Allocat
 
 template<typename T>
 struct isAllocatedFromIsoSubspace {
-    static constexpr bool value = std::is_same<std::invoke_result_t<decltype(T::template subspaceFor<T, SubspaceAccess::OnMainThread>), VM&>, IsoSubspace*>::value;
+    static constexpr bool value = std::is_same<std::result_of_t<decltype(T::template subspaceFor<T, SubspaceAccess::OnMainThread>)&(VM&)>, IsoSubspace*>::value;
 };
 
 } // namespace JSC