components/desktop/thunderbird/patches/firefox16-48-sparc-lea.patch
changeset 5527 611b2d6efdfe
parent 5526 570ac9aab8b2
child 5528 f2f5af510081
equal deleted inserted replaced
5526:570ac9aab8b2 5527:611b2d6efdfe
     1 Implements PolyIC for sparc.
       
     2 This is going away in the future so no need to send upstream.
       
     3 
       
     4 --- comm-esr31/mozilla/js/src/assembler/assembler/MacroAssemblerSparc.h.orig	2015-06-04 17:42:51.582947696 -0700
       
     5 +++ comm-esr31/mozilla/js/src/assembler/assembler/MacroAssemblerSparc.h	2015-06-04 17:42:51.585565407 -0700
       
     6 @@ -1005,9 +1005,12 @@
       
     7  
       
     8          void lea(BaseIndex address, RegisterID dest)
       
     9          {
       
    10 -            // lea only used by PolyIC.
       
    11 -            // PolyIC is not enabled for sparc now.
       
    12 -            ASSERT(0);
       
    13 +            move(address.index, dest);
       
    14 +            if (address.scale != 0)
       
    15 +                lshift32(Imm32(address.scale), dest);
       
    16 +            if (address.offset)
       
    17 +                add32(Imm32(address.offset), dest);
       
    18 +            add32(address.base, dest);
       
    19          }
       
    20  
       
    21          void add32(Imm32 imm, AbsoluteAddress address)