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

Changeset 286856 in webkit


Ignore:
Timestamp:
Dec 10, 2021, 9:25:22 AM (5 years ago)
Author:
Tadeu Zagallo
Message:

Remove Mac-specific ARM64EHash implementation
https://bugs.webkit.org/show_bug.cgi?id=234150

Reviewed by Saam Barati.

Currently we have a weaker implementation of ARM64EHash on mac, but we measured it and it's not
any faster than the stricter version we use on iOS. We are removing the mac-specific version and
switching it to use the stricter version.

  • assembler/AssemblerBuffer.h:
Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r286837 r286856  
     12021-12-10  Tadeu Zagallo  <tzagallo@apple.com>
     2
     3        Remove Mac-specific ARM64EHash implementation
     4        https://bugs.webkit.org/show_bug.cgi?id=234150
     5
     6        Reviewed by Saam Barati.
     7
     8        Currently we have a weaker implementation of ARM64EHash on mac, but we measured it and it's not
     9        any faster than the stricter version we use on iOS. We are removing the mac-specific version and
     10        switching it to use the stricter version.
     11
     12        * assembler/AssemblerBuffer.h:
     13
    1142021-12-10  Adrian Perez de Castro  <aperez@igalia.com>
    215
  • trunk/Source/JavaScriptCore/assembler/AssemblerBuffer.h

    r281717 r286856  
    204204
    205205#if CPU(ARM64E)
    206 #if PLATFORM(MAC)
    207     class ARM64EHash {
    208     public:
    209         ARM64EHash(void* initialHash)
    210             : m_hash(static_cast<uint32_t>(bitwise_cast<uintptr_t>(initialHash)))
    211         {
    212         }
    213 
    214         ALWAYS_INLINE uint32_t update(uint32_t value, uint32_t, void*)
    215         {
    216             uint64_t input = value ^ m_hash;
    217             uint64_t a = static_cast<uint32_t>(tagInt(input, static_cast<PtrTag>(0)) >> 39);
    218             uint64_t b = tagInt(input, static_cast<PtrTag>(0xb7e151628aed2a6a)) >> 23;
    219             m_hash = a ^ b;
    220             return m_hash;
    221         }
    222 
    223     private:
    224         uint32_t m_hash;
    225     };
    226 #else
    227206    class ARM64EHash {
    228207    public:
     
    281260        uint64_t m_hash;
    282261    };
    283 #endif // PLATFORM(MAC)
    284262#endif // CPU(ARM64E)
    285263
Note: See TracChangeset for help on using the changeset viewer.