Title: [275053] trunk/Source/WTF
Revision
275053
Author
[email protected]
Date
2021-03-25 13:20:47 -0700 (Thu, 25 Mar 2021)

Log Message

Embiggen maximum HashTable size when not using ANGLE
https://bugs.webkit.org/show_bug.cgi?id=223757

Reviewed by Alex Christensen.

This is a partial revert of r274603 which cut the maximum size HashTable from 400 to 250.
When not using ANGLE directly for an OpenGL ES implementation there's some code hashing its
sh::ShaderVariable from the shader compiler ANGLE ships with. This type is too big and
triggers the static_assert.

The eventual goal is for ANGLE to be the OpenGL ES implementation for WebKit when enabling
WebGL. On PlayStation we already have a system OpenGL ES and any use of WebGL is in legacy
applications. The WebGL compliance features in ANGLE aren't needed in this case so ideally
we wouldn't even compile out ANGLE.

This patch punts on fixing the actual problem and just resolves this build issue.

* wtf/HashTable.h:
(WTF::KeyTraits>::inlineLookup):

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (275052 => 275053)


--- trunk/Source/WTF/ChangeLog	2021-03-25 19:57:08 UTC (rev 275052)
+++ trunk/Source/WTF/ChangeLog	2021-03-25 20:20:47 UTC (rev 275053)
@@ -1,3 +1,25 @@
+2021-03-25  Don Olmstead  <[email protected]>
+
+        Embiggen maximum HashTable size when not using ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=223757
+
+        Reviewed by Alex Christensen.
+
+        This is a partial revert of r274603 which cut the maximum size HashTable from 400 to 250.
+        When not using ANGLE directly for an OpenGL ES implementation there's some code hashing its
+        sh::ShaderVariable from the shader compiler ANGLE ships with. This type is too big and
+        triggers the static_assert.
+
+        The eventual goal is for ANGLE to be the OpenGL ES implementation for WebKit when enabling
+        WebGL. On PlayStation we already have a system OpenGL ES and any use of WebGL is in legacy
+        applications. The WebGL compliance features in ANGLE aren't needed in this case so ideally
+        we wouldn't even compile out ANGLE.
+
+        This patch punts on fixing the actual problem and just resolves this build issue.
+
+        * wtf/HashTable.h:
+        (WTF::KeyTraits>::inlineLookup):
+
 2021-03-25  Chris Dumez  <[email protected]>
 
         Do not do process pre-warming when the system is under memory pressure

Modified: trunk/Source/WTF/wtf/HashTable.h (275052 => 275053)


--- trunk/Source/WTF/wtf/HashTable.h	2021-03-25 19:57:08 UTC (rev 275052)
+++ trunk/Source/WTF/wtf/HashTable.h	2021-03-25 20:20:47 UTC (rev 275053)
@@ -668,8 +668,12 @@
     template<typename HashTranslator, typename T>
     ALWAYS_INLINE auto HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::inlineLookup(const T& key) -> ValueType*
     {
+#if USE(ANGLE)
         static_assert(sizeof(Key) + sizeof(Value) < 250, "Your HashTable types are too big to efficiently move when rehashing.  Consider using UniqueRef instead");
-
+#else
+        // FIXME: https://bugs.webkit.org/show_bug.cgi?id=223637
+        static_assert(sizeof(Key) + sizeof(Value) < 400, "Your HashTable types are too big to efficiently move when rehashing.  Consider using UniqueRef instead");
+#endif
         checkKey<HashTranslator>(key);
 
         unsigned k = 0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to