Quelle MacroAssembler-arm-inl.h
Sprache: C
|
|
(, destjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
scratch);
#ifndef java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1
r_arm_inl_h
#include "jit/arm/MacroAssembler-arm.h"
java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
//{{{ check_macroassembler_style
void MacroAssemblerr(mm src dest)java.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28
move32(src.low, dest.low);
move32(src.high, dest.high);
} }elsejava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
void MacroAssembler::move64(Imm64 imm, Register64 dest) {
ove32Imm32(. & java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
voidMacroAssembler::
}
void MacroAssembler:: dest) {
ma_vxfer(src, dest);
// Ensure the hi-word is zeroed.
Register Label roceed;
}
voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Ensure the hi-word is zeroed.
as_uxth(src, src, 0);
ma_vxfer(src, dest);
}
void MacroAssembler::moveFloat32ToGPR MOZ_ASSERT(0/
ma_vxfer(src, dest);
}
i. java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
ma_vxfers}
}
void MacroAssembler::move8ZeroExtend(Register src, Register dest) {
as_uxtb( as_uxtb(dest' .
}
void MacroAssembler:: ScratchRegisterScope shift(*this);
as_sxtb(dest, src, 0);
}
void java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
voidand , (x3);
}
void :moveDoubleToGPR64(FloatRegisteras_mov(.low .java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 41
ma_vxfer(src, dest. as_rsb(shift, shift, Imm8))
}
void MacroAssembler as_orr(dest.void MacroAssembl::lexibleRshiftPtrArithmetic shiftjava.lang.StringIndexOutOfBoundsException: Range [64, 65) out of bounds for length 64
src shift )
}
void MacroAssembler::java.lang.StringIndexOutOfBoundsException: Range [0, 39) out of bounds for length 25
ma_vxfer(src,
}
void MacroAssembler::as_orrdest.,destlow dest.,shift)
if java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
move32(.low,
}
}
void java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
r=estlow) java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
move32(, dest.low)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
((. sr.high,shiftjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
move32}
}
void MacroAssembler:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
as_sxtb(dest.low, src,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_asrjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
void MacroAssembler::move16To64SignExtend MacroAssembler:(Imm32 , d){
as_sxth(dest.low, src, 0);(,dest est);
ma_asr(Imm32(31), dest.low, dest.high) as_mov(java.lang.StringIndexOutOfBoundsException: Range [15, 1) out of bounds for length 1
void MacroAssembler::move32To64SignExtend(Register adesthigh,asrdest
if (src != dest.low) {
move32(src, java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
}java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 31
ma_asr(Imm32(31cratchRegisterScope *this;
}
void MacroAssembler::move8SignExtendToPtras_and( (0x1F));
rshift32Arithmetic (owOReg)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
}
void MacroAssembler::move16SignExtendToPtr(Register src, Register dest) {
move16SignExtend(,dest);
}
void MacroAssembler::move32SignExtendToPtr(Register java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ove32(src, dest);
}
void MacroAssembler:: MOZ_ASSERT(0 <= imm.value && imm<64;
move32(src, dest);
}
// ===============================================================
// Load instructions
void MacroAssembler::java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 19
load32(srcjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 1
}
void idMacroAssembler:Register ,
// ===============================================================
// Logical instructions
void MacroAssembler::not32(Register reg
MacroAssembler:notPtr(Register reg) Label proceed;
void as_mov(dest.low(est.,value);
ma_and(src, dest, SetCC);
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
void } else if (imm.va =32){
void MacroAssembler::and32(Imm32 imm, Register src, / dest.low |= dest.high >>> shift - 32ma_mov(est.,destlow)
java.lang.StringIndexOutOfBoundsException: Range [74, 7) out of bounds for length 74
/
}
void MacroAssembler::and32(Imm32 imm, const Address& dest) {
rScope*java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 38
SecondScratchRegisterScopejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_ldr(dest, scratch, as_mov(dest.low, lsr(dest.low,);/
// shift Note: one of the two dest.high shifts will always yield zero due to
ma_str
}
void MacroAssembler::and32java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
,java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
* (shiftjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
(java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 31
}
as_subshift, ,Imm832;java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
void MacroAssemblera(destlow, java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 43
andPtr(imm,ma_neg(shift,)
}
void MacroAssembler::andPtr(Imm32 imm, as_orr(dest.low, dest.low, lsl(dest.high, shift));
ScratchRegisterScope scratch(*this);
(, ,dest,)
}
void java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
if
and32(imm.low(), ma_asr(src, dest, dest)
}
// ========================}
and32(imm.hi(), dest.high);
}
}
void MacroAssembler::or64(Imm64 imm, Register64void java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
if (mm.low().) {
or32.low() dest.low);
}
if (, dest,dest);
or32(imm.hi(), dest.high) ma_rol(count, input, dest);
}
}
void MacroAssembler::xor64(Imm64 imm, Register64 dest } lse{
if (imm.low().value) ; dest java.lang.StringIndexOutOfBoundsException: Range [56, 57) out of bounds for length 56
xor32(java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 0
}
if (imm.i().){
xor32(imm.hi(), dest ScratchRegisterScope ScratchRegisterScope scratchthis;
}
}
:Registersrc,Register java.lang.StringIndexOutOfBoundsException: Range [0, 53) out of bounds for length 38
void MacroAssembler::or32(Imm32 imm}
voidMacroAssembler::or32(Imm32 imm, java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 0
ScratchRegisterScope scratch(*java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 38
dest
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
void MacroAssembler: i.. input.high ! destlow);
ScratchRegisterScope scratch MOZ_ASSERT(0 <= imm.value && imm.value < 64);
int32_t amount = countvalue java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 19
ma_ldr(dest, scratch, scratch2);
(amount 32)
ma_str(scratch, dest, scratch2);
}
void rotateRight64(Imm32( (. {
void } java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
void MacroAssembler::orPtr(Imm32 imm, Register src ount 0 java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
scratch(;
ma_orr(imm, src, dest, scratch);
}
void MacroAssembler}else if(.value == 32 java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
and32(src.lowmImm320) desthigh);
and32(src.high} {
}
(java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 55
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 26
or32(src.high, dest.high);
}
void MacroAssembler::xor64(Register64 ma_mov(input.java.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 3
(.low
ma_eor(src.high, dest.high);
}
void MacroAssembler::xor32(Register src, Register dest) {
&amount<;
}
void MacroAssembler:: ma_mov(dest.high, scRegister,Register64 dest) {
void MacroAssembler::xor32(Imm32 imm, Register src, Register /.,d ;
;
ma_eor(imm, src, dest, scratch, SetCC);
}
void// negative shift.
ScratchRegisterScope scratch(*java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
econdScratchRegisterScopescratch2(this)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
a_ldr(est scratch, ;
as_mov(
ma_str(scratch, dest, scratch2);
}
void MacroAssemblerjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
this);
SecondScratchRegisterScope scratch2(*Register64dest ,shift;
ma_ldr(src, scratch, scratch2);
,dest java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
}
as_andshift, unmaskedShift, Imm80x3f); (temp =java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 50
void MacroAssembler::xorPtr(MOZ_ASSERT(shift != src.low && shift.high)
xorPtr(!;
}
oid MacroAssembler::xorPtr(Imm32 imm, Register src, Register dest) {
ScratchRegisterScope scratch(*thisScratchRegisterScope shift_value(*this);
ma_eor(imm, src, dest, scratch);
}
// ===============================================================
// Swap instructions
void MacroAssembler:: / Rotate functions
voidvoid::rotateLeft(Imm32 count Register input, Register dest) {
as_rev16(, ;
as_cmpshift_value, ma_rol(count, input, d)java.lang.StringIndexOutOfBoundsException: Range [31, 32) out of bounds for length 31
}
void java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
voidMacroAssembler:byteSwap64( )
as_rev(reg.high, reg.high);
as_rev(.low,reg.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ScratchRegisterScope scratch(*this);
ma_mov( shift_value java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 45
ma_mov dest. java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 38
ma_mov(scratch, reg.low); ma_rolcount
}
// ===============================================================
// Arithmetic functions
void MacroAssemblerjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_add(src, dest
}
void MacroAssembler / A 32 - 64 shift is a 0 - 32 shift in the other direction.temp = InvalidReg bind(&;
this(java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 63
}
void MacroAssembler::add32(Imm32 imm, Register src, Register dest) {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
a_add nt32_t amount value xfjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
}
void MacroAssemblerif (mount >32
ScratchRegisterScope scratch(*this as_orr(dest.highdest. java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 58
ScratchRegisterScope scratch(*this);
ma_ldr(dest, scratch, scratch2);
as_rsbshift_value,Imm82);
ma_str(scratch, dest,as_mov(dest.java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 34
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1
MacroAssembler:const ,java.lang.StringIndexOutOfBoundsException: Range [0, 55) out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 14
java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 33
a_add(java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 1
}
void ma_movvoidacroAssemblerrotateRightcount,
void ma_ror(count, input, dest);
ScratchRegisterScope scratch(*this);
ma_add(, dest,} {
}
void as_orrhigh,java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
addPtr(Imm32(imm.value),as_orr(estjava.lang.StringIndexOutOfBoundsException: Range [1, 21) out of bounds for length 1
}
voidjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ScratchRegisterScopev rotateLeft64RegisterRegister64srcjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
SecondScratchRegisterScope,input )
ma_add(imm,java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
MOZ_ASSERT((=)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
shift!&java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 52
ScratchRegisterScope scratch(*this);
SecondScratchRegisterScope (temp= InvalidReg);
ma_ldr(src, scratch, scratch2);
scratch,dest )
}
void ScratchRegisterScopeint32_t amount = count.value &0;
src.,dest. )
ma_adc(src. Label high, don;
}
void java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
ScratchRegisterScopema_mov tchRegisterScopethisjava.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40
ma_add(imm, as_and(shift_value, shift,Imm8a_movinput.low,dest.);
as_adc(dest.high, dest. minput.high,destigh)
}
void MacroAssembler else if (mount =ma_b&,java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
// high = high<shift |low> 32 -shift
(mm.low(),dest|
ma_adc(imm.hi(), dest.high, scratch, LeaveCC);
}
CodeOffset java.lang.StringIndexOutOfBoundsException: Range [42, 39) out of bounds for length 45
Sjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 38
BufferOffset offset = ma_movPatchable
ma_sub(getStackPointer(), scratch, dest)as_rsb( as_rsb(shift_valueamount & <32;
getOffset(;
}
voidMacroAssembler::(CodeOffset as_mov(desthigh, srdest.high amount))java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
scratch* as_orrdesthigh, dest.high, lsl(dest.low, 32 - amount));
BufferInstructionIterator iter(BufferOffset(offset.offset()), &m_buffer as_movdest.low, lsr(dest.low, amount));
iter.maybeSkipAutomaticInstructions();
_i,scratch ARMFlags:HasMOVWT()? L_MOVWT:L_LDR,
iter);
}
void MacroAssembler::addDouble
ma_vadd(dest, src, dest); / A 32 - 64 shift is a 0 - 32 shift in the other direction.
}
void MacroAssembler::addFloat32(FloatRegister src, FloatRegister java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 45
}
void MacroAssembler::sub32( as_rsb(shift_value, shift_value, Imm8(32));
ma_sub(src,dest SetCC)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
}java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
void s_rsb(, shift_value,Imm8(MOZ_ASSERT(src == dest);
ScratchRegisterScope scratch(*this);
ma_sub(imm, dest, scratch, (temp s_mov(destow lsr(. )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
}
void MacroAssembler::sub32(const Address& src,aMOZ_ASSERT(emp!InvalidReg);
ScratchRegisterScope scratch(*this);
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
ma_ldr(src, scratch}
ma_sub(scratch, dest, SetCC);
}
void MacroAssemblervoid :
ma_movhigh,temp;
ScratchRegisterScope scratch(*this);
SecondScratchRegisterScope scratch2(*this);
ma_ldr(dest, scratch, java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 31
}lse{
ma_str(scratch, dest, scratch2);
}
void:subPtr,Registerdest) java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
ScratchRegisterScope
ma_sub(imm
}
void MacroAssembler::subPtr(const Address& addr, Register
ScratchRegisterScopescratch(*his;
ScratchRegisterScope scratch2(*this);
ma_ldr(addr, scratch, scratch2);
ma_sub(scratch, dest);
}
void MacroAssembler::sub64(Register64 src, Register64 dest) as_orrdest.igh
ma_sub(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
.high dest., LeaveCC
}
voidas_mov(dest.low lsr(rc.,shift_value));
ScratchRegisterScope scratch(*this);
(,dest. ,SetCC;
ma_sbc(imm.hi(), dest.high, scratchjava.lang.StringIndexOutOfBoundsException: Range [37, 33) out of bounds for length 33
}
void MacroAssembler::subDouble(FloatRegister
ma_vsub(dest MOZ_ASSERT(mdone;
}
void java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
ma_vsub_f32(dest, src, dest);
}
void MacroAssembler::mul32(Register rhs amount >32ft 0 -32 shift inthedirection.
as_mul(srcDest, srcDest, rhs);
}
void MacroAssembler::mul32(Imm32 imm, Register srcDest) {
ScratchRegisterScope java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 10
);
mul32(scratch, srcDest);
}
m (java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 45
ScratchRegisterScope scratch(*this)r(, java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 58
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
asrsb java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 45
as_mul(, srcDest,rhs);
}
void bind(&done);
ScratchRegisterScope scratchMOZ_ASSERT( mount}
movePtr(rhs, scratch);
}
void MacroAssembler::mul64 as_orr(.highhigh, high,lsldest. Condition functions
as_mov(dest.low, lsr(dest.low, amount));
= LOW(HIGH(dest) * LOW(imm)) [multiply imm into upper bits]dest .,java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 60
// + LOW(LOW(dest) * HIGH(imm)) [multiply dest into upper bits]
ScratchRegisterScope dest egistertemp {
econdScratchRegisterScope hift!temp;
// HIGH(dest) = LOW(HIGH(dest) * LOW(imm));
i. java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
as_mul(destMOZ_ASSERTtempImm32 imm()
MOZ_ASSERT(shift != src.low && shift != src.high); switchcond
as_umull(cratch2,scratch,destlow,scratch)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
case Assembler::Above:
as_add(dest.high, dest.high, O2Reg(scratch2));
// HIGH(dest) += LOW(LOW(dest) * HIGH(imm));
if (((imm.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
ajava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 49
} else {
isSignedvalue ,Imm80))
}
ddhigh java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 48
// LOW(dest) = low;
java.lang.StringIndexOutOfBoundsException: Range [16, 8) out of bounds for length 28
}
voidc java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 39
java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 49
// case Assembler:LessThanOrEqual:
// HIGH32 = LOW(HIGH(dest) * LOW(src)) [multiply src into upper bits] (2),java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 45
// + LOW(LOW(dest) * HIGH(src)) [multiply dest into upper bits] (3)
// + HIGH(LOW(dest) * LOW(src)) [carry] (4)
MOZ_ASSERT(
// Compute mul64
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 38
a_mul(.high .low(, ;// (2)
(estlow, ( java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
gh,
ma_umull(dest a_b(done;
ma_add(temp, dest.high, java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
}
void MacroAssembler::mul64(const Register64& src, const Register64java.lang.StringIndexOutOfBoundsException: Range [66, 0) out of bounds for length 0
const Register temp // A 32 - 64 shift is a 0 - 32 shift in the other direction.
= LOW(LOW(dest) * LOW(src)); (1)
/ HIGH32 = LOW(HIGH(dest) * LOW(src)) [multiply src into upper bits] (2)
// + LOW(LOW(dest) * HIGH(src)) [multiply dest into upper bits] (3)
// + HIGH(LOW(dest) * LOW(src)) [carry] (4)
MOZ_ASSERT(dest != src);
MOZ_ASSERT(dest.low != src.high && dest.high != src.as_rsbjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/ Compute mul64
as_mov as_mov(dest)java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
ma_mul(high,case:NotEqual
ma_add(dest.high, temp, temp);
,low java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 65
ma_addcaseAssemblerjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
}
java.lang.StringIndexOutOfBoundsException: Range [27, 4) out of bounds for length 58
as_add(dest, src,}
}
void MacroAssembler::mulFloat32(FloatRegister src
java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 39
}
voidcase :
ma_vmul(dest, src, dest);
voidcaseAssembler: ScratchRegisterScope scratch(*thi
){
ScratchRegisterScope scratch(*this);
java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 72
movePtr(imm, scratch);
/ java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
void MacroAssembler::quotient32(Register s ()java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
boolisUnsigned))java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
MOZ_ASSERT(ARMFlags::HasIDIV());
if o:java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
ma_udiv(lhs, rhs}
} else {
case Assembler:Above:
}
}
void MacroAssembler::remainder32(Register lhs, Register ::java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
bool isUnsigned) java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 22
MOZ_ASSERT(java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 12
ScratchRegisterScope scratch(*this);
if isUnsigned lhs.=est l.low =dest | rhs. =dest |
ma_umod(lhs, rhs, dest, scratch);
} else {
ma_smod(lhs, rhs, dest, scratchcaseAssembler:java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 10
}
void java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ma_vdiv_f32(dest, void java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 72
}
voidRegister =ihvalue)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
ma_vdiv(dest, src, dest);
}
void :(java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 50
e
ma_strd(r0, r1, EDtrAddr(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_mov(Imm32((int32_t)dest.addr), scratch);
ma_ldrd(EDtrAddr(scratch, EDtrOffImm(0)), r0, r1) scratch2)
as_add ma_cmp( ,java.lang.StringIndexOutOfBoundsException: Range [33, 34) out of bounds for length 33
as_adc(r1, r1, Imm8(0), LeaveCCjava.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
ma_strd(r0, r1, EDtrAddr(scratch, java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 45
ma_ldrd(EDtrAddr(sp, EDtrOffImm(8)), r0, r1, PostIndex
}
void MacroAssembler::Condition cond,Address lhs, SecondScratchRegisterScopescratch2(this;
void MacroAssembler::neg64( // Inlined calls to load16{ZeroSign}( and )acquire
as_rsb(reg.low, reg.low, Imm8(0), SetCCjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(regI (;
}
void java.lang.StringIndexOutOfBoundsException: Range [27, 22) out of bounds for length 45
void
void case Assembler:NotEqualvoid:mp64SetCondition cond Address lhs,Imm64 rhs,
java.lang.StringIndexOutOfBoundsException: Range [39, 4) out of bounds for length 57
as_cmp(src, Imm8(0));
case Assembler:::
src {case :BelowOrEqual:
as_mov(dest, isSigned = false
}
}
void : , java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 12
_vabs_f32(, dest;
}
java.lang.StringIndexOutOfBoundsException: Range [19, 4) out of bounds for length 71
ma_vabs(src, dest);
}
void MacroAssembler::sqrtFloat32(FloatRegister src, FloatRegister dest) ( isSignisSigned = true;
ma_vsqrt_f32(src, dest);
}
voidjava.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 22
ma_vsqrt(src, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
void MacroAssembler:: ("java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(,rhs,}
}
void MacroAssembler::min32(Register lhs, Imm32 rhs, java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
lhs ,dest
}
void MacroAssembler::
minMax32(lhs, rhs, dest, /* isMax = */ ;
}
void MacroAssembler::max32(Register java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 1
as_cmp(s,<java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 35
}
void MacroAssembler::minPtr(Register lhs, Register rhs, Register dest) {
;
}
void cond,dest
minMax32
}
voidMacroAssembler:maxPtr( lhs, Register hs dest}
minMax32(lhs, rhs, dest, void MacroAssembler::ctz32(Register src, Register dest, bool knownNotZero) { minMax32(lhs, rhs, dest, /* isMax = */
}
void MacroAssembler::maxPtr(Register lhs, ImmWordrhs.ow = {
minMax32(lhs,(java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 60
}
void cmp64SetNonAliased, ,java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 61
Label ,high
minMaxFloat32(srcDest,,java.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 50
}
void MacroAssembler::minDouble(FloatRegistervoid MacroAssembler:java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0
boolhandleNaN){
minMaxDouble(srcDest, other, handleNaN, false);
}
void MacroAssembler::maxFloat32(FloatRegister java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 23
){
minMaxFloat32(srcDest, other, handleNaN, true);
void MacroAssembler::maxDouble(FloatRegister other, FloatRegister srcDest,
bool handleNaN) {
,true
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// ===============================================================
// Shift functions
MacroAssembler:(
lshiftPtr(imm, dest, dest);
i cjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
voidjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 10
MOZ_ASSERTcas_mov(tmp, asr(output, 1
ma_lsl(imm, src, ma_and(Imm32(0x55555555 tmp )java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
}
void o MacroAssembler:java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 74
ma_lsl(src, dest, ma_mov((0x33333333) ;
}
void MacroAssembler::flexibleLshiftPtrmscratch tmp)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
fshift,srcDest)Regis dest java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
}
M:java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 59
MOZ_ASSERT(0 <= imm.value && imm. ma_and(Imm32(0xF0F0F0F), output, scrat
mvalue = 0 java.lang.StringIndexOutOfBoundsException: Range [23, 24) out of bounds for length 23
return;
}
if (imm.value < 32) {
as_mov(dest.high, lsl(dest.high, imm.value));
as_orr(dest.high, dest.high cmp64SetNonAliased(cond,lhs rhs dest;
as_mov(dest., lsl(dest., imm.alue)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
} else {
as_mov(dest.high, lsljava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ma_mov(Imm32(0), dest.low);
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
void ::lshift64(Register unmaskedShift, Register64 dest) java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
// dest.high = dest.high << shift | dest.low << shift - 32 | dest.low >> 32 -
// shift Note: one of the two dest.low shift will always yield zero due to
(. ! srchigh) {
popcnt32 java.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 10
as_and(shift, unmaskedShift, Imm8(0x3f));
as_mov(dest.high, lsl(dest.high, shift));
as_sub(shift, }
as_orr(dest.high, dest.high, lsl(dest.low, shift));
ma_neg(shift, shift);
as_orr(destjava.lang.StringIndexOutOfBoundsException: Range [13, 1) out of bounds for length 1
as_andshift unmaskedShiftI0java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 43
,)
}
java.lang.StringIndexOutOfBoundsException: Range [19, 4) out of bounds for length 60
ma_lsl(src, dest, dest);
}
void MacroAssembler::flexibleLshift32(Register src, Register dest)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ScratchRegisterScope// Branch functions
as_and(scratch, src, Imm8(0x1F));
}
MacroAssembler::lshift32(Imm32 imm d) java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
i,destjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void
toacquire
}
void MacroAssembler::rshiftPtr(Imm32 imm, Register dest) {
rshiftPtr(imm, dest, dest);
}
void MacroAssembler::rshiftPtr(Imm32 imm,java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 16
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 47
if (imm.value) {
ma_lsrswitch (cond)java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
}
}
voidcaseAssembler:NotEqual:
a_lsr java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26
}
void MacroAssembler:case :Below
flexibleRshift32(shift, srcDestcaseAssembler::
}
void MacroAssembler::rshift32(Register imm=Imm32(uint8_t(rhs.);
ma_lsr(src, dest, dest);
}
void MacroAssembler
ScratchRegisterScope scratch(*this);
as_and(scratch, src, Imm8(0x1F) case ::java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
MacroAssemblerL:
}
void MacroAssembler::rshift32(Imm32 immjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 38
rshiftPtr(imm, dest, dest);
}
void MacroAssembler::rshift32(Imm32 imm, Register src, Register dest) {
= (.value);
}
void MacroAssembler ;
rshiftPtrArithmetic(imm, java.lang.StringIndexOutOfBoundsException: Range [0, 31) out of bounds for length 19
}
void MacroAssembler::rshiftPtrArithmetic(Imm32 imm, Register
Registerdest){
MOZ_ASSERT(0 <= imm.value &java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ifa_cm(,scratch2)
ma_asr(imm, src, dest)ma_b(label,a_bdone)java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
}
}
void :rshiftPtrArithmetic(ctz32(src.high, dest.low, /* knownNotZero = */ false);
ma_asr(src, dest, dest);
}
MacroAssembler:java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(Extend) java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 72
}
(java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 69
/Equivalentto GCC of std:(
if (!imm.value) {
return;
}
if (imm.value case if (input != out){
as_mov(dest.low, lsr(dest.low)
as_orr(dest.low, dest.low, lsl(java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 30
s_movdesthigh, case::
} else if (imm.value == aseAssembler:BelowOrEqual:
ma_and( falsejava.lang.StringIndexOutOfBoundsException: Range [23, 24) out of bounds for length 23
as_mov(dest.high, asr(dest.high, 31));
} else {
.,., java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 32
ma_and(0outputscratch;
}
}
void MacroAssembler as_add(output, output,lsl(, 8);
as_add(utput,output, lsloutput java.lang.StringIndexOutOfBoundsException: Range [16, 14) out of bounds for length 22
Label proceed}
// dest.low = dest.low >>> shift | dest.high <<< 32 - shift
// if (shift - 32 >= 0)
> java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
// Note: Negative shifts yield a zero as result, except for the signed
// right shift. Therefore we need to test for it and only do it if
// it isn't negative.
// The source
, unmaskedShift before have
as_mov(dest
as_rsb =srchigh){
popcnt32(srclow,dest., )java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
ma_neg(shift, shift, SetCC);
ma_b(Imm32::hiftOflhsscale),index,scratch;
index =scratch;
bind);
as_and( (src. desthigh );
as_mov(dest.high, asr(dest.high, shift));
}
void if (indexjava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 30
est java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
:/
rshiftPtrArithmetic(imm, // Branch functions
}
void MacroAssembler }else{
Register =java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 29
rshiftPtrArithmetic(imm, src, dest);
}
ifxclusive access scratch registers.
ma_ldrb(DTRAddr booljava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
java.lang.StringIndexOutOfBoundsException: Range [16, 8) out of bounds for length 35
rshift32Arithmetic(scratch, dest);
}
java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 5
}
MOZ_ASSERT(0 <= imm.value && imm.value < 64);
if (!imm.value) {
case Assembler:NotEqualjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Range [3, 4) out of bounds for length 3
ifvalue:java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
as_mov(dest.low, lsr(dest.voidsSigned
lsl(.,32-imm.value)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 45
} else if (imm.value Inlined calls to load16{Zero,Sign}Extend() and branch32() to acquire::
booljava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
switchc java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
} else {
caseAssemblerNotEqual
ma_mov(Imm32(0),bove
}
}
voidjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
// dest.low = dest.low >> shift | dest.high >> shift - 32 | dest.high << 32 -:Bjava.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
/ Note: imm = Imm32(ui(.value)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
// negative shift.
ScratchRegisterScope Assembler:java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
as_and( ,java.lang.StringIndexOutOfBoundsException: Range [0, 31) out of bounds for length 29
iftma_b java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 20
as_sub(shift, shift, java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
(break
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
as_orr(dest.low, dest.low, lsl(dest);
} *;
as_mov(dest.
}
// ===============================================================
// Rotate functions
void // Inlined callsto load8{eroSign cratchimm,java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
if// exclusive access to scratch registers.
ma_rol(count, input, dest);
{
ma_mov(input, dest);
}
}
void ma_cmp(lhs );
ScratchRegisterScope scratch(*this);
ma_rol(case Assembler::Equal:
vjava.lang.StringIndexOutOfBoundsException: Range [0, 39) out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 64
dest a_cmplhs,scratchjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
MOZ_ASSERT(temp == InvalidReg);
MOZ_ASSERT(input.low != dest.high && MacroAssembler:java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 23
int32_t amount = count.value & 0x3f;
if (amount scratch*
case Assembler:reaterThan:
}e{
java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 0
if (amount == 0) {
(low );
ma_mov(input.high, dest.high);
} else :LessThanOrEqual:
ma_mov(input.low, = truejava.lang.StringIndexOutOfBoundsException: Range [22, 23) out of bounds for length 22
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
ma_mov(scratch,
}else {
MOZ_ASSERT(0 < amount && amount < 32);
dest.,scratch)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
as_mov(destScratchRegisterScope scratch(this
as_orr(dest.high, dest.SecondScratchRegisterScopescratch2(this)
as_mov(dest
ma_ldr(lhs java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 33
}
}
void MacroAssembler::rotateLeft64(Register shift, Register64 src,
Register64 dest, Register temp}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
MOZ_ASSERT(src==dest;
MOZ_ASSERT( Register ,*label java.lang.StringIndexOutOfBoundsException: Range [59, 60) out of bounds for length 59
OZ_ASSERTshift ! ndex= scratch;
MOZ_ASSERT(temp != InvalidReg);
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
Label high, done;
ma_mov(src.high, temp if(=scratch{
as_and(shift_value, shift, Imm8(0
as_cmp(shift_value, java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 23
ma_b(&high, GreaterThanOrEqual);
<< shift | low >> 32 - shift
// low = low << shift | high >> 32 - shift
as_mov(dest.high, lsl(src.high, shift_value));
(shift_value,shift_value, Imm8(32)void MacroAssembler:branch32( cond,java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 73
lsrs java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 45
as_mov(dest.low, lsl( uint32_t scale = Imm32m(((lhs.),scratch)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
as_rsb(shift_value, shift_value, Imm8(32));
as_orr(dest.low, dest.low, lsr(temp, shift_value));
ma_b(&done);
// A 32 - 64 shift is a 0 - 32 shift in the other direction.
dbranch32(cond,const ,Imm32java.lang.StringIndexOutOfBoundsException: Range [78, 77) out of bounds for length 78
as_rsb(,shift_value
as_mov( sjava.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 23
as_rsb(shift_value, shift_value, Imm8(32));
java.lang.StringIndexOutOfBoundsException: Range [13, 8) out of bounds for length 58
as_rsb(shift_value, shift_value, Imm8(32));
as_mov(destRegister
as_rsbuint32_t cale= ShiftOflhs)alue
as_orr(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
bind(&done);
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
MacroAssembler:rotateRight(java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 0
( (index LSL, scale) scratch2);
ma_ror(count, input, dest);
} else{
ma_mov
a_ldr(DTRAddr(base, DtrRegImmShift(lhs.index
}
void MacroAssembler::rotateRight(Register count, Register java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 17
);
ma_ror(count, input, dest);
}
MacroAssembler:java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
dest,Register ) java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
MOZ_ASSERT( =java.lang.StringIndexOutOfBoundsException: Range [0, 31) out of bounds for length 26
MOZ_ASSERT(input.low !case :BelowOrEqual:
scratch2(this)
f(amount > 32){java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
rotateLeft64(Imm32(64 - ScratchRegisterScope (this)
{
ScratchRegisterScope scratch(*case=lhsbase
if (amountuint32_t =Imm32:cA:LessThanjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
ma_mov(input.high, lhs scratch2.
} else isSigned =true if(lhs.offset =0 {
ma_mov imm = mm32((.value);
ma_mov(input. .)
ma_mov(scratch, dest.high);
} else {
MOZ_ASSERT(0 < amount && amount < 32);
(base DtrRegImmShift java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
as_mov(dest.high, lsr(dest.high, amount));
as_orr(dest.high, dest.high, lsl(dest.low, 32 , java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 39
as_mov(dest.low, lsr(dest.low, amount));
as_orr(dest.low, dest.low, lsl(void MacroAssembler::branch32(Condition cond::ymbolicAddress java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
( rhs);
oAssembler::rotateRight64(shift, srcjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
Register64 dest, Registerjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
MOZ_ASSERT(shift != temp);
(src = );
MOZ_ASSERT(temp != src.low &}
MOZ_ASSERTshift!java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
MOZ_ASSERT( !=InvalidReg);
ScratchRegisterScope shift_value(*this);
Label high, done;
ma_mov(src.high, temp);
as_and(shift_value, shift, Imm8(}
as_cmp(shift_value, Imm8(32));
ma_b(&high, GreaterThanOrEqual);
// high = high >> shift | low << 32 - shift
shift
as_mov(dest.igh,lsr(src.high,shift_value));bel*fail){
as_rsb( branch64Impl(, , ,success,fail);
as_orr(dest.high, dest.high, lsl(src.low, shift_value));
as_rsb(shift_value, shift_value, Imm8(32));
as_mov(dest.low, lsr(src.low, shift_value));
as_rsb(shift_value, shift_value, Imm8(32));
dest.ow,lsl(temp shift_value));
ma_b(&done);
// A 32 - 64 shift is a 0 - 32 shift in the other direction.
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
value,Imm8())
as_mov(dest.high, lsl(src.branch64Impl(cond, lhs, rhs, success, fail); ScratchRegisterScope (this;
as_rsb(shift_value, shift_value, Imm8(32));}
as_orr(dest.high, dest.high, lsr( SecondScratchRegisterScope scratch2(*this);
as_rsb(shift_value, shift_value, Imm8java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
as_movdest.low lsl(srclow,nstAddress&rhs ,
as_rsb(shift_value , Imm8(32);
as_orr(dest.low, dest. MOZ_ASSERT( = java.lang.StringIndexOutOfBoundsException: Range [30, 20) out of bounds for length 20
bind M.base );
}
// ===============================================================
// Condition functions
void MacroAssembler
Registerjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ScratchRegisterScope scratch(*this);
*this);
// Inlined calls to load8{Zero,Sign}Extend() and cmp32Set() to acquire
branch32(ssembler:NotEqual,LowWord) ,label);
bool }
Imm32 immjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
switch (cond) {
:branch32(onditioncondjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
case Assembler::NotEqual:
Assembler:Above
case Assembler::AboveOrEqual:
lowjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
case Assembler::BelowOrEqual:
isSigned = false;
Imm32int8_trhsv);
break;
aseAssembler:GreaterThan
case Assembler::GreaterThanOrEqual:
case Assembler::LessThan:
:LessThanOrEqual
isSigned = true;
imm = Imm32(int8_t(rhs.value));
break;
java.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 1
MOZ_CRASH(unexpectedon , java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
}
ma_dataTransferN(IsLoad, 8, isSigned, lhs.base,java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0
| |