Changeset 246151 in webkit


Ignore:
Timestamp:
Jun 6, 2019 6:41:21 AM (5 years ago)
Author:
Michael Catanzaro
Message:

aarch64: ‘JSC::ARM64Assembler::LinkRecord::<unnamed union>::RealTypes::m_compareRegister’ is too small to hold all values of ‘JSC::ARM64Assembler::RegisterID’ {aka ‘enum JSC::ARM64Registers::RegisterID’}
https://bugs.webkit.org/show_bug.cgi?id=198014

Reviewed by Yusuke Suzuki.

When building for aarch64, there is a huge warning spam here. It's impossible to see any
other warnings. This has been ongoing for so long I've begun to suspect that nobody works
on this architecture.

Anyway, the problem is because we need eight bits to store all possible RegisterID values,
but the bitfield is only six bits wide. Fix it. The COMPILE_ASSERT checking the size of this
struct is still happy, so I presume the change is OK.

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

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r246150 r246151  
     12019-06-06  Michael Catanzaro  <mcatanzaro@igalia.com>
     2
     3        aarch64: ‘JSC::ARM64Assembler::LinkRecord::<unnamed union>::RealTypes::m_compareRegister’ is too small to hold all values of ‘JSC::ARM64Assembler::RegisterID’ {aka ‘enum JSC::ARM64Registers::RegisterID’}
     4        https://bugs.webkit.org/show_bug.cgi?id=198014
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        When building for aarch64, there is a huge warning spam here. It's impossible to see any
     9        other warnings. This has been ongoing for so long I've begun to suspect that nobody works
     10        on this architecture.
     11
     12        Anyway, the problem is because we need eight bits to store all possible RegisterID values,
     13        but the bitfield is only six bits wide. Fix it. The COMPILE_ASSERT checking the size of this
     14        struct is still happy, so I presume the change is OK.
     15
     16        * assembler/ARM64Assembler.h:
     17
    1182019-06-06  Keith Miller  <keith_miller@apple.com>
    219
  • trunk/Source/JavaScriptCore/assembler/ARM64Assembler.h

    r239364 r246151  
    459459                int64_t m_from;
    460460                int64_t m_to;
     461                RegisterID m_compareRegister;
    461462                JumpType m_type : 8;
    462463                JumpLinkType m_linkType : 8;
    463464                Condition m_condition : 4;
    464465                unsigned m_bitNumber : 6;
    465                 RegisterID m_compareRegister : 6;
    466466                bool m_is64Bit : 1;
    467467            } realTypes;
Note: See TracChangeset for help on using the changeset viewer.