Ignore:
Timestamp:
Oct 31, 2017, 1:29:55 PM (8 years ago)
Author:
[email protected]
Message:

StructureStubInfo should have GPRReg members not int8_ts
https://bugs.webkit.org/show_bug.cgi?id=179071

Reviewed by Michael Saboff.

This patch makes the various RegisterID enums be backed by
uint8_t. This means that we can remove the old int8_t members in
StructureStubInfo and replace them with the correct enum types.

Also, this fixes an indentation issue in ARMv7Assembler.h.

  • assembler/ARM64Assembler.h:
  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:

(JSC::ARMRegisters::asSingle):
(JSC::ARMRegisters::asDouble):

  • assembler/MIPSAssembler.h:
  • assembler/X86Assembler.h:
  • bytecode/InlineAccess.cpp:

(JSC::InlineAccess::generateSelfPropertyAccess):
(JSC::getScratchRegister):

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::regenerate):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::valueRegs const):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileIn):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITGetByIdWithThisGenerator::JITGetByIdWithThisGenerator):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/assembler/ARMv7Assembler.h

    r220958 r224243  
    4040namespace ARMRegisters {
    4141
    42     typedef enum {
    43         r0,
    44         r1,
    45         r2,
    46         r3,
    47         r4,
    48         r5,
    49         r6,
    50         r7,
    51         r8,
    52         r9,
    53         r10,
    54         r11,
    55         r12,
    56         r13,
    57         r14,
    58         r15,
    59 
    60         fp = r7,   // frame pointer
    61         sb = r9,   // static base
    62         sl = r10,  // stack limit
    63         ip = r12,
    64         sp = r13,
    65         lr = r14,
    66         pc = r15
    67     } RegisterID;
    68 
    69     typedef enum {
    70         apsr,
    71         fpscr
    72     } SPRegisterID;
    73 
    74     typedef enum {
    75         s0,
    76         s1,
    77         s2,
    78         s3,
    79         s4,
    80         s5,
    81         s6,
    82         s7,
    83         s8,
    84         s9,
    85         s10,
    86         s11,
    87         s12,
    88         s13,
    89         s14,
    90         s15,
    91         s16,
    92         s17,
    93         s18,
    94         s19,
    95         s20,
    96         s21,
    97         s22,
    98         s23,
    99         s24,
    100         s25,
    101         s26,
    102         s27,
    103         s28,
    104         s29,
    105         s30,
    106         s31,
    107     } FPSingleRegisterID;
    108 
    109     typedef enum {
    110         d0,
    111         d1,
    112         d2,
    113         d3,
    114         d4,
    115         d5,
    116         d6,
    117         d7,
    118         d8,
    119         d9,
    120         d10,
    121         d11,
    122         d12,
    123         d13,
    124         d14,
    125         d15,
     42enum RegisterID : uint8_t {
     43    r0,
     44    r1,
     45    r2,
     46    r3,
     47    r4,
     48    r5,
     49    r6,
     50    r7,
     51    r8,
     52    r9,
     53    r10,
     54    r11,
     55    r12,
     56    r13,
     57    r14,
     58    r15,
     59
     60    fp = r7,   // frame pointer
     61    sb = r9,   // static base
     62    sl = r10,  // stack limit
     63    ip = r12,
     64    sp = r13,
     65    lr = r14,
     66    pc = r15
     67};
     68
     69typedef enum {
     70    apsr,
     71    fpscr
     72} SPRegisterID;
     73
     74typedef enum {
     75    s0,
     76    s1,
     77    s2,
     78    s3,
     79    s4,
     80    s5,
     81    s6,
     82    s7,
     83    s8,
     84    s9,
     85    s10,
     86    s11,
     87    s12,
     88    s13,
     89    s14,
     90    s15,
     91    s16,
     92    s17,
     93    s18,
     94    s19,
     95    s20,
     96    s21,
     97    s22,
     98    s23,
     99    s24,
     100    s25,
     101    s26,
     102    s27,
     103    s28,
     104    s29,
     105    s30,
     106    s31,
     107} FPSingleRegisterID;
     108
     109typedef enum {
     110    d0,
     111    d1,
     112    d2,
     113    d3,
     114    d4,
     115    d5,
     116    d6,
     117    d7,
     118    d8,
     119    d9,
     120    d10,
     121    d11,
     122    d12,
     123    d13,
     124    d14,
     125    d15,
    126126#if CPU(ARM_NEON) || CPU(ARM_VFP_V3_D32)
    127         d16,
    128         d17,
    129         d18,
    130         d19,
    131         d20,
    132         d21,
    133         d22,
    134         d23,
    135         d24,
    136         d25,
    137         d26,
    138         d27,
    139         d28,
    140         d29,
    141         d30,
    142         d31,
     127    d16,
     128    d17,
     129    d18,
     130    d19,
     131    d20,
     132    d21,
     133    d22,
     134    d23,
     135    d24,
     136    d25,
     137    d26,
     138    d27,
     139    d28,
     140    d29,
     141    d30,
     142    d31,
    143143#endif // CPU(ARM_NEON) || CPU(ARM_VFP_V3_D32)
    144     } FPDoubleRegisterID;
     144} FPDoubleRegisterID;
    145145
    146146#if CPU(ARM_NEON)
    147     typedef enum {
    148         q0,
    149         q1,
    150         q2,
    151         q3,
    152         q4,
    153         q5,
    154         q6,
    155         q7,
    156         q8,
    157         q9,
    158         q10,
    159         q11,
    160         q12,
    161         q13,
    162         q14,
    163         q15,
    164     } FPQuadRegisterID;
     147typedef enum {
     148    q0,
     149    q1,
     150    q2,
     151    q3,
     152    q4,
     153    q5,
     154    q6,
     155    q7,
     156    q8,
     157    q9,
     158    q10,
     159    q11,
     160    q12,
     161    q13,
     162    q14,
     163    q15,
     164} FPQuadRegisterID;
    165165#endif // CPU(ARM_NEON)
    166166
    167     inline FPSingleRegisterID asSingle(FPDoubleRegisterID reg)
    168     {
    169         ASSERT(reg < d16);
    170         return (FPSingleRegisterID)(reg << 1);
    171     }
    172 
    173     inline FPDoubleRegisterID asDouble(FPSingleRegisterID reg)
    174     {
    175         ASSERT(!(reg & 1));
    176         return (FPDoubleRegisterID)(reg >> 1);
    177     }
     167inline FPSingleRegisterID asSingle(FPDoubleRegisterID reg)
     168{
     169    ASSERT(reg < d16);
     170    return (FPSingleRegisterID)(reg << 1);
     171}
     172
     173inline FPDoubleRegisterID asDouble(FPSingleRegisterID reg)
     174{
     175    ASSERT(!(reg & 1));
     176    return (FPDoubleRegisterID)(reg >> 1);
     177}
    178178
    179179} // namespace ARMRegisters
Note: See TracChangeset for help on using the changeset viewer.