⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 275053 in webkit


Ignore:
Timestamp:
Mar 25, 2021, 1:20:47 PM (5 years ago)
Author:
don.olmstead@sony.com
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):

Location:
trunk/Source/WTF
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r275038 r275053  
     12021-03-25  Don Olmstead  <don.olmstead@sony.com>
     2
     3        Embiggen maximum HashTable size when not using ANGLE
     4        https://bugs.webkit.org/show_bug.cgi?id=223757
     5
     6        Reviewed by Alex Christensen.
     7
     8        This is a partial revert of r274603 which cut the maximum size HashTable from 400 to 250.
     9        When not using ANGLE directly for an OpenGL ES implementation there's some code hashing its
     10        sh::ShaderVariable from the shader compiler ANGLE ships with. This type is too big and
     11        triggers the static_assert.
     12
     13        The eventual goal is for ANGLE to be the OpenGL ES implementation for WebKit when enabling
     14        WebGL. On PlayStation we already have a system OpenGL ES and any use of WebGL is in legacy
     15        applications. The WebGL compliance features in ANGLE aren't needed in this case so ideally
     16        we wouldn't even compile out ANGLE.
     17
     18        This patch punts on fixing the actual problem and just resolves this build issue.
     19
     20        * wtf/HashTable.h:
     21        (WTF::KeyTraits>::inlineLookup):
     22
    1232021-03-25  Chris Dumez  <cdumez@apple.com>
    224
  • trunk/Source/WTF/wtf/HashTable.h

    r274603 r275053  
    669669    ALWAYS_INLINE auto HashTable<Key, Value, Extractor, HashFunctions, Traits, KeyTraits>::inlineLookup(const T& key) -> ValueType*
    670670    {
     671#if USE(ANGLE)
    671672        static_assert(sizeof(Key) + sizeof(Value) < 250, "Your HashTable types are too big to efficiently move when rehashing.  Consider using UniqueRef instead");
    672 
     673#else
     674        // FIXME: https://bugs.webkit.org/show_bug.cgi?id=223637
     675        static_assert(sizeof(Key) + sizeof(Value) < 400, "Your HashTable types are too big to efficiently move when rehashing.  Consider using UniqueRef instead");
     676#endif
    673677        checkKey<HashTranslator>(key);
    674678
Note: See TracChangeset for help on using the changeset viewer.