|
|
|
|
Quelle MacroAssembler-arm-inl.h
Sprache: C
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2./* This Source Code Form is subject to the terms of the Mozilla Public
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef jit_arm_MacroAssembler_arm_inl_h*file, Youcan obtain oneathttp//mozilla.orgM PL/20/ /
#define jit_arm_MacroAssembler_arm_inl_h
#include "jit/arm/MacroAssembler-arm.h"
define
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
//{{{ check_macroassembler_style
voidmove64( src, Register64 ){
move32(src.low, dest.low);
move32(src.high, dest.high);
}
voidMacroAssembler::move64(Imm64 imm, Register64 dest) {
move32(Imm32(imm.value & 0xFFFFFFFFL), dest.low);
move32(Imm32((imm.}
}v MacroAssembler:moveFloat16ToGPR( src Register est){
void MacroAssembler::moveFloat16ToGPR(FloatRegister src, Register dest) {
java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 22
// Ensure the hi-word is zeroed.
as_uxthjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
void MacroAssembler::// Ensure the hi-word zeroed.
/ Ensure the hi-word is zeroed.
as_uxth(src, src, 0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
src )
}
voidjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 73
ma_vxfer(src, dest);
}
dest ,0;
:move8SignExtendRegistersrc, Registerdest {
}
void MacroAssembler::move8ZeroExtend(Register java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 24
as_uxtb(dest, dest src,0)
}
void MacroAssembler::move8SignExtend(Register src, java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 37
as_sxtb(, ,)
}
void MacroAssembler::ma_vxfer(src.low, src )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
(,src, )
}
void MacroAssembler::moveDoubleToGPR64(FloatRegister src, ma_vxfer(src, dest, InvalidReg);
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
move32src.low, dest);
ma_vxfer(src.low, src.high, dest);
}
void MacroAssembler::moveLowDoubleToGPR(java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 3
ma_vxfer(rc, InvalidReg;
}
void MacroAssembler::move64To32(Register64 src, Register dest) {
f(rc.ow! )java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
move32Imm32() dest.igh)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
}
}
java.lang.StringIndexOutOfBoundsException: Range [24, 4) out of bounds for length 28
(src !=dest.low){
java.lang.StringIndexOutOfBoundsException: Range [0, 4) out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [19, 2) out of bounds for length 3
(0,destjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 30
}
}
MacroAssembler:move32To64SignExtend(Registersrc, dest)java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
ma_asrImm32() dest.low, dest.high);
}
void MacroAssembler::move16To64SignExtend(src,Rdest){
as_sxth(dest.low, src,}
ma_asr(mm3231,low, desthigh;
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
if (src != dest.low) {
move32(src,src, dest;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(mm32(1) destl, dest.high);
}
void MacroAssembler::move8SignExtendToPtr(Register src, }
move8SignExtend
}
void MacroAssemblermove32(rc dest)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
move16SignExtend(rc,dest);
}
void MacroAssembler::java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 20
move32(src, dest);
}
void :( src Register dest {
move32(src, dest);
}
// ===============================================================
// Load instructions
void MacroAssembler::load32SignExtendToPtrjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 1
load32(src, dest);
}
void MacroAssembler:// java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
// ===============================================================
// Logical instructions
void MacroAssembler
void MacroAssembler::notPtrsrc dest,SetCC)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
void MacroAssembler::and32(Register src,
ma_and(rc ,SetCC)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
}
void MacroAssembler::and32(Imm32 imm, Register dest) { and32(imm, dest, dest ma_and(imm src,dest, scratch, SetCC);
void
scratch(this;
a_and(, src, dest,scratch, SetCC);
}
void MacroAssembler::and32(Imm32 imm, const Address& dest scratch2*);
ScratchRegisterScope*)
ma_and(imm,,java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 33
ma_ldr(dest, scratch, scratch2);
ma_and(imm, scratch, scratch2);
ma_str(scratch, dest, scratch2);
}
void MacroAssembler::and32(const Address& src, Register dest) {
);
SecondScratchRegisterScope scratch2java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 0
ma_ldr(src, scratch,scratch2);
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
void:( ,Register src, dest; java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
void MacroAssembler::andPtr(Imm32 imm, Register dest) {
ndPtr(,dest,dest)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
void MacroAssembler::andPtr(Imm32 imm, Register ScratchRegisterScope *his)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
*)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
ma_andimm , scratch;
}
dMacroAssembler:and64Imm64imm,Register64dest){
imm(.alue =int32_t(0) {
(imml) .lowlow;
}
if (imm.hi().value != and32(imm.hi(), dest.high
and32:or64(imm
}
}
void MacroAssembler::or64(java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 3
if}
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
(immimm.(,dest.)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void MacroAssembler::xor64(Imm64 imm, Register64 dest) {
if MacroAssembler:(Imm32 Address dest) {
xor32(imm.low(), dest.low);
}
if (imm.hi().value) {
xor32(imm cratchRegisterScope scratch(*this);
}
}
void SecondScratchRegisterScope scratch2(*this);
void MacroAssemblerjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
void :or32Imm32imm ,Registerdest){
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ma_orrimm scratch;
}
void MacroAssembler::or32(Imm32 imm, const Address& dest) {
ScratchRegisterScope scratch(*this);
SecondScratchRegisterScope
ma_ldr(dest, scratch, scratch2);
ma_orr(imm, scratch, scratch2 ScratchRegisterScope scratch(t)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
a_str( ,scratch2;
}
void MacroAssembler::orPtr(Register src, Register dest) { ma_orr(src, dest); }
void MacroAssembler::orPtr(Imm32 imm, java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 1
void MacroAssembler::orPtr(or32(src.ow, l)
ScratchRegisterScope *this;
ma_orr(imm, src, dest, scratch);
}
void
and32(src.low, dest.low);
and32(.,dest.high;
}
void MacroAssembler::or64(java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 28
w)
or32java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
}
void MacroAssembler::xor64(Register64 src, Register64 destma_eor(,dest, )
MacroAssembler:xor32Imm32 ,Register ){ xor32imm,dest, dest;}
srchigh, high)
}
void MacroAssembler::xor32(Register java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 38
a_eor(rc dest )
}
void MacroAssembler( , )java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
void MacroAssembler::xor32(Imm32 immma_eor(mm,scratch, ;
scratch(this;
a_eor(imm rc dest, SetCC);
}
void MacroAssembler
ScratchRegisterScope scratch(*this);
ScratchRegisterScope scratch(*this);
ma_ldr(dest, scratchSecondScratchRegisterScopescratch2(this);
ma_eor(imm, scratch, scratch2);
ma_str(scratch, dest, java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
}
void MacroAssembler::xor32(const Address& src, Register dest) {
ScratchRegisterScope scratch(*this);
SecondScratchRegisterScope java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ma_ldr(src, scratch, scratch2);
ma_eor(scratch, destjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
void MacroAssembler::xorPtr(Register src, Register dest) { ma_eor(srcx( imm,Register Register java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
void MacroAssembler::xorPtr(Imm32 imm, Register dest) {
voidMacroAssembler::byteSwap16SignExtend( reg as_revsh(,reg;}
}
void MacroAssembler::xorPtr(Imm32 imm, Register src, Register dest)
scratch(*his)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
ma_eor(imm,src dest, scratch);
}
// ===============================================================
// Swap instructions
oidjava.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 79
voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
( )
reg ,0)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
}
void MacroAssembler::byteSwap32(m( java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 28
void MacroAssembler::byteSwap64(Register64 reg) {
as_rev(// =====================// Arithmetic java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
as_rev(ma_add(src );
ScratchRegisterScope scratch(*this
reglow reg.igh)
scratch, reg.low);
}
// ===============================================================
// Arithmetic functions
void MacroAssembler: (this;
ma_add(src, dest, SetCC);
}
void MacroAssembler a_add(src,imm, dest, scratch, SetCC);
voidMacroAssembler::add32(Imm32 imm, const Address& dest) {
}
void::add32(Imm32 imm, src dest) {
ScratchRegisterScope
src ,dest,scratch, SetCC)
}
void MacroAssembler::add32(Imm32 imm, const Addressma_strscratch,dest,:const & , Register dest) {
ScratchRegisterScope scratch(*this);
SecondScratchRegisterScope cratchRegisterScope scratch(*this);
(dest ,
(cratch dest,scratch2);
}
void MacroAssembler::add32(const Address& src, Register dest) {
h(*this);
SecondScratchRegisterScope
ma_ldr(src, scratch, scratch2);
voidMacroAssembler:addPtrRegister src, Register dest) { ma_add(src, dest); }
}
void MacroAssembler::addPtr(Register src(imm,Register java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
void MacroAssembler::addPtr(Imm32 imm, Register dest) {
ma_ldr(dest, scratch, scratch2);
ma_addma_add(imm, scratch, scratch2);
}
void MacroAssembler::addPtr(ImmWord imm, java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 34
void MacroAssembler:addPtr(const ,Register java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
}
void MacroAssembler::addPtr(Imm32 imm, const Addressjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ScratchRegisterScope
void MacroAssembler::add64(R ,Register64 dest) {
a_ldr(, ;
imm,scratch scratch2;
ma_str(scratch, dest, scratch2);
}
void void MacroAssembler::add64(Imm32 imm, Register64 dest) {
ScratchRegisterScope scratch(*this);
SecondScratchRegisterScope scratch2(*this);
ma_ldr(src, scratch, scratch2);
a_add(cratch, dest, SetCC)java.lang.StringIndexOutOfBoundsException: Range [31, 32) out of bounds for length 31
}
void}
void MacroAssembler:add64(Imm64 imm, Register64 dest) {
ma_adc(src.high, dest.high);
}
void *);
*his;
,dest.low,scratch, SetCC);
as_adc}
}
void MacroAssembler::add64(Imm64 imm, Register64 dest) {
scratch*this)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
ma_add(imm.low(,destlow scratch,SetCC);
ma_adc(imm.hi(), dest. ma_sub(getStackPointer() scratch, dest);
}
CodeOffset MacroAssembler::sub32FromStackPtrWithPatch(Register dest) CodeOffsetoffset.getOffset();
ScratchRegisterScope scratch(java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
32(0, ,Always);
ma_sub(getStackPointer(), scratch, dest);
return CodeOffset(offset.getOffset());
}
void MacroAssembler:iter.maybeSkipAutomaticInstructions(;
ScratchRegisterScopema_mov_patch(,scratch,Always,ARMFlags:HasMOVWT)?L_MOVWT : ,
BufferInstructionIterator iter(BufferOffset
iter.void MacroAssembler::addDoubleMacroAssembler:addDouble( , dest) java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
iter);
}
::(FloatRegistersrc,FloatRegister dest) {
ma_vadd(dest, src, dest);
}
voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(dest,src,d;
}
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
void MacroAssembler::sub32(Imm32 imm, Register dest) {
ScratchRegisterScope (this);
}
}
voidMacroAssembler:sub32(const Address& src,Registerdest {
ScratchRegisterScope scratch(*this);
ScratchRegisterScopescratch();
ma_ldr(src, ma_ldr(src, scratch scratch2;
ma_sub(scratch, dest, SetCC);
}
void MacroAssembler:java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void MacroAssembler::subPtr(Register src, const Address& dest) {
ScratchRegisterScope scratch(* ScratchRegisterScope scratch(*this scratch(this)
scratch2this);
ma_ldr(, scratch,scratch2)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
ma_str(, )
}
void MacroAssembler::subPtr(Imm32 imm, Register dest) {
ScratchRegisterScope scratch(
a_sub(,dest,scratch);
}
void MacroAssembler::subPtr(const AddressScratchRegisterScopes(*);
ScratchRegisterScope scratch(*java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
econdScratchRegisterScope (this)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
ma_ldr(, java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 34
ma_sub(scratch, dest);
}
MacroAssembler:sub64(Register64 src,R dest {
ma_sub(src.low, dest.low, SetCC);
ma_sbcsrc.,dest.high,LeaveCC);
}
void MacroAssembler::sub64(Imm64 imm, Register64 dest) {
ScratchRegisterScope java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 56
ma_sub(imm.ma_sub(.low),dest.low, )
ma_sbcimm.() dest.high scratch,LeaveCC)
}
void
voidMacroAssembler:subDouble(loatRegister src, FloatRegister dest){
}
void MacroAssembler::subFloat32
ma_vsub_f32(void MacroAssembler::subFloat32(FloatRegister src, FloatRegister dest) {
}
mbler:mul32(Register rhs,Register srcDest) {
as_mul(srcDest, srcDest, rhs);
}
void void MacroAssembler:mul32Register rhs, Register srcDest) {
scratch(this);
move32}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
void MacroAssemblerScratchRegisterScope *)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
cratchRegisterScopescratch(this)
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 1
}
void MacroAssembler::mulPtr(Register rhs, Register srcDest) {
as_mul(srcDest srcDest, rhs);
}
void MacroAssembler
ScratchRegisterScope java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
movePtr(,scratch);
scratch, );
}
void MacroAssembler::mul64(Imm64 imm,const Register64& dest) {
// LOW32 = LOW(LOW(dest) * LOW(imm));
// HIGH32 = LOW(HIGH(dest) * LOW(imm)) [multiply imm into upper bits]
// + LOW(LOW(dest) * HIGH(imm)) [multiply dest into upper bits] scratch(*);
/ + HIGH(LOW(dest) * LOW(imm)) [carry]
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
SecondScratchRegisterScope scratch2(*this);
// HIGH(dest) = LOW(HIGH(dest) * LOW(imm));
ma_mov(Imm32(imm.value & 0xFFFFFFFFL), //LOW32=LOW(LOWdest) * LOW(imm));
java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
// high:low = LOW(dest) * LOW(imm);
ScratchRegisterScope *)
// HIGH(dest) += high;
as_adddesthigh highO2Regscratch2);
) +=LOW(dest)* HIGHimm))java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
if(((imm.value> )&0 ){
as_add(scratch2, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
} else{
MOZ_CRASH("Not supported// HIGH(dest) += high;
}as_add(dest.high, .high O2Reg();
as_add(dest.high, dest.high, O2Reg(scratch2));
// LOW(dest) = low;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
}
ssembler:(Imm64imm,constRegister64dest.low, lsl(dest.low 2));
Registertemp){
// LOW32 = LOW(LOW(dest) * LOW(src)); (1)
= 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(temp != dest.high && temp != dest.low);
// Compute mul64
// LOW32 LOW(OW(dest)*LOWsrc)
ma_mul(dest.high,// + LOW(LOW(dest) * HIGH(src)) [multiply dest into upper bits] (3)
ma_mul(dest.low, imm.hi(), temp, scratch);java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_add(dest.high, temp, temp);
ma_umull(dest.low, imm.low(), dest.high, dest.low, scratch); // (4) + (1)
ma_add(
}
void ScratchRegisterScopescratch(this;
temp {
// LOW32 = 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),imm.) high,dest., ); // (4) + (1)
void::mul64(onst Register64& src constRegister64&destjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
// LOW32 = LOW(LOW(dest) * LOW(src)); (1)
// HIGH32 = LOW(HIGH(dest) * LOW(src)) [multiply src into upper bits] (2)
ma_mul(dest.high, src.low, dest.high); // (2)
ma_mul(src.high, dest.low, temp); // (3)
ma_add(dest.high, temp, temp);
ma_umull(dest.low,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_add(temp, dest.high, dest.high);
}
void MacroAssembler::mulBy3(Register src, Register dest) {
as_add(dest, src, ma_mul(esthigh src., dest.high); // (2)
}
void MacroAssembler: ma_mul(src.high, dest.low, temp); // (3)
ma_vmul_f32(dest, src, );
}
void MacroAssembler::mulDouble(FloatRegisterjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_vmul(dest, src, dest);
}
void MacroAssembler::mulDoublePtr(ImmPtr imm, Register temp,
FloatRegister dest) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ScratchRegisterScope scratch(*this);
cratchDoubleScope scratchDouble(*this);
movePtr(immjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ma_vldr(Operand(Address(scratch, 0)).toVFPAddr(), scratchDouble);
mulDouble(scratchDouble, dest);
}
void MacroAssembler::quotient32Register , Registerrhs dest,
mdest src,)
MOZ_ASSERT(ARMFlags::HasIDIV
voidMacroAssembler::mulDoublePtr(ImmPtr imm,Register tempjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
ma_udiv(lhs, rhs, ScratchRegisterScope scratch(*this);
} else {
ma_sdiv(lhs, rhs, dest);
}
void MacroAssembler::remainder32(Register lhs, Register rhs, mulDouble(scratchDouble, dest;
bool isUnsignedjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
MOZ_ASSERTARMFlags:HasIDIV();
ScratchRegisterScope scratch(*this);
if (isUnsigned) {
ma_umod(lhs rhs,dest,scratch;
isUnsigned java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
ma_smod(lhs, mlhsrhs,;
}
}
ma_umodlhs scratch
}
void MacroAssembler::divDouble(FloatRegister src, FloatRegister dest) {
dest,s,dest);
}
void MacroAssembler::java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
ScratchRegisterScopescratch(this)
(-8)) );
ma_movImm32(int32_tdestaddr,)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
ma_ldrd(EDtrAddr(scratch, EDtrOffImm(0)), r0, java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0
);
as_adc(r1, r1,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_strd(r0, r1, EDtrAddr(scratch, EDtrOffImm(0)));
ma_ldrdEDtrAddr(,E(),r0 r1,PostIndex);
}
void MacroAssembler:: MacroAssembler::neg64 ) {
as_rsc(reg.high, reg.high, Imm8(0));
as_rsb(reg.low, reg.low, Imm8(0), SetCC);
as_rsc(reg.high, reg. MacroAssembler neg32)}
}
:negateFloatFloatRegisterreg) ma_vneg_f32 ; java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
void as_cmp(src, Imm8));
void MacroAssembler::negateFloat(FloatRegister reg) { java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 48
as_mov(,O2Reg(, LeaveCC,GreaterThanOrEqual);
as_rsbvoidMacroAssembler:absDouble(java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 71
if (dest != src) {
as_mov(dest, O2Reg(src),java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
FloatRegister java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
}
(FloatRegisters,FloatRegisterdest {
ma_vabs_f32(src minMax32lhs hs ,/* isMax = */ false);
}
java.lang.StringIndexOutOfBoundsException: Range [19, 4) out of bounds for length 71
ma_vabs(src, dest);
}
void MacroAssembler::sqrtFloat32(FloatRegister src, FloatRegister dest) {
ma_vsqrt_f32(src, dest
}
void MacroAssembler::sqrtDouble(FloatRegister java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 47
ms,;
}
void lhs hs,dest,/* /falsejava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
minMax32(lhs, MacroAssembler:( ,ImmWordrhs,Register) java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
}
void java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
minMax32(hs, rhs,dest
}
void java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 1
minMax32(lhs, rhs, dest, /* isMax = */ true)java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
}
{
minMax32(lhs, rhs, dest, /* isMax = */ true);
}
void MacroAssembler::minPtr(Register lhs, Register rhs, inMaxFloat32(,, ,false)
minMax32(lhs dest /* isMax = */ false);
}
void MacroAssembler::minPtr(Register lhs, ImmWord rhs, Register destminMaxDouble(, other, handleNaN, false);
minMax32(lhs, Imm32(rhs.valuevoidMacroAssembler::maxFloat32(FloatRegister other, FloatRegister srcDest,
}
void :maxPtr( lhs r, dest){
minMax32(lhs, rhs, dest, /* isMax = */ true);
}
void MacroAssembler::maxPtr(Register lhs, ImmWord rhs, Register dest) {
minMax32}
}
void MacroAssembler::void MacroAssembler::maxDoubleFloatRegister other, FloatRegister srcDest,
bool handleNaN) {
minMaxFloat32(srcDest,other handleNaN,false;
}
void MacroAssembler::minDouble minMaxDouble(srcDest, other, handleNaN, true);
bool }
minMaxDouble(srcDest, other, handleNaN// ===============================================================
}
void MacroAssembler:maxFloat32(FloatRegister other,FloatRegister
bool java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 1
MOZ_ASSERT . & <32;
}
void MacroAssembler::maxDouble(FloatRegister other, FloatRegister srcDest,
void MacroAssembler::lshiftPtr(Regi:Register ,Register dest)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
minMaxDouble(srcDest, other, handleNaN, true);
}
// ===============================================================
// Shift functions
void MOZ_ASSERT( <=imm.value &imm.<64);
lshiftPtrimm, dest,dest)
}
void MacroAssembler::lshiftPtrif (imm.value < 32) {
MOZ_ASSERT(0 <= imm.value && imm.value < 32);
ma_lslimm,src )
}
void java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 47
}
void java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 3
flexibleLshift32(shift, srcDest);
}
void MacroAssembler::lshift64(Imm32 imm, Register64 dest) {
MOZ_ASSERT(0 <= imm.value & / dest.high = dest.high << shift | dest.low << shift - 32 | dest.low >> 32 -
if (imm.value == 0) {
return
}
if (mm.value < 32) {
as_mov(dest.high, lsl(dest.high, imm.value));
as_orr(dest.high, dest.high, lsr(dest.low, s_movdest.igh lsl(dest.high,shift);
s_mov(dest., lsldest, imm.value);
} else {
as_mov( s_orr(, dest (destlow shift);
ma_neg(,shift);
}
}
void MacroAssembler::lshift64(Register unmaskedShift, Register64 dest) {
// 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 tod.,lsl.shift)
// negative shift. :RegisterRegister {
ScratchRegisterScope shift(*this);
as_and(shift}
as_mov(dest.high, lsl(dest.high, shift));
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
as_orr(dest.high, dest.high, lsl(dest.low, shift));
ma_neg(shift,ScratchRegisterScope scratch(*this);
as_orr(dest.high, dest.high, as_and(scratch,src,Imm8(0x1F);
java.lang.StringIndexOutOfBoundsException: Range [14, 8) out of bounds for length 43
as_mov(dest.low, lsl(dest.low, }
}
void MacroAssembler::lshift32(Register src,void Imm32 src ){
ma_lsl(src, dest, dest);
}
void MacroAssembler:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ScratchRegisterScope :(Imm32immRegister {
as_and(scratch, java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 1
lshift32(scratch, dest);
}
void MacroAssembler:if(
imm ;
}
void MacroAssemblerjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
lshiftPtr(imm, src, MacroAssembler:rshift32(src,Registerdest {
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 1
void :Imm32 imm java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 58
rshiftPtr(imm, destrshift32(java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26
}
::rshiftPtr(Imm32 imm, Register src, Register dest) {
MOZ_ASSERT(0 <= imm. (mm dest,dest);
if (imm.value) {
ma_lsr(imm, src, dest);
}
}
void MacroAssembler:( Register java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
ma_lsr(src, dest, void:rshiftPtrArithmeticimm java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 65
}
void MacroAssembler::java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 18
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
}0= &imm < 64;
MacroAssembler::rshift32(egister src Register) {
ma_lsr(src, dest, dest)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
void
ScratchRegisterScope scratch
as_and(scratch, src, Imm8(0x1F));
rshift32(scratch, dest);
}
void ::void MacroAssembler::rshift32java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
rshiftPtr(imm,dest,dest);
}
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
shiftPtrimmjava.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 28
}
oid {
rshiftPtrArithmeticjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}(immvalue &0xFFFFFFFFLjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
Register64
java.lang.StringIndexOutOfBoundsException: Range [50, 16) out of bounds for length 16
MOZ_ASSERT0 java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
f ){
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 24
_java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 43
MacroAssembler:FloatRegisteras_mov(. (dest,shift);
}
oid MacroAssemblerfRshift,
Register srcDestma_vxfer(ma_neg(,shift java.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
(c! .{
MOZ_ASSERTsrc dest.;
if (!imm.valueas_mov((high,adest.,shift)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
return;
}
if (imm.value < 32 ma_asr
as_mov(dest
as_orr(dest:Imm32
s_mov(.igh, (destRegister )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
} else if (imm.valueImm3231Sjava.lang.StringIndexOutOfBoundsException: Range [30, 22) out of bounds for length 38
as_movdest..,2desthigh;
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 1
as_mov(void src, destjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 20
// ===============================================================
}
}
:(Register unmaskedShift,
Register64 java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 23
proceedjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
lue= java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
/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
/
ma_movjava.lang.StringIndexOutOfBoundsException: Range [16, 1) out of bounds for length 38
as_and(shift, unmaskedShift
shift)); / dest.low = dest.low >> shift | dest.high >> shift - 32 | dest.high << 32 -
as_rsb(shift, ma_str/
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SetCC);
ma_b(&proceed, SignedSecondScratchRegisterScopescratch2(this)as_and( unmaskedShift,Imm80x3f);
ma_and,,SetCC)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
bind(&proceed
as_and(( , (xf)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
src scratch)
void MacroAssembler::
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void (.low.value java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
rshiftPtrArithmeticimm dest, destjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
}
} java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
Registerdest){
rshiftPtrArithmetic}
}
voidvoidMacroAssembler:rotateLeft(Register count,Registerjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 23
(*thisjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
void MacroAssembler:or32( , ma_rol(,input, dest,scratch)
rshift32Arithmetic MacroAssembler:Imm32imm java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
void
: MOZ_ASSERT(nput.low!=dest.high & . !dest.low)
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 47
return;
}mif){
(value<32)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
as_mov(dest.lowScratchRegisterScopescratch*this
if (am =0 java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
scratch*this)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
else immvalue =32){
ma_mov(dest.high, dest.low);
(java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 32
}else {
ma_lsrmm32immvalue - 32,dest.high .low) or32src.ow,dest.low;
java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 1
ma_eor(src0< amount< )
(
//dest.lowdesthigh lsl(est.high,amount))
two dest cratchRegisterScopescratch(*)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
// negative shift.
ScratchRegisterScope shift(**this;
as_and(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
dest}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
as_orr(dest.lowv scratch(java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
ma_neg shift)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
as_orr(dest.ma_eor(scratch dest,SetCCMOZ_ASSERTshift =temp;
(unmaskedShift(x3f) !srclow&&temp != src.)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
as_mov(dest.high, lsr(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 26
vjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 69
// ===============================================================
// Rotate functions
java.lang.StringIndexOutOfBoundsException: Range [19, 4) out of bounds for length 77
if (reg,reg)
est;
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
ma_mov MacroAssembler:(Register64reg)
}
}
void(reg.as_rsb(shift_valuejava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 45
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 38
,, dest,;
}
void MacroAssembler::rotateLeft64(est.=================================================
ma_b(done;
MOZ_ASSERT( =bind(high)java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
inputlow=desthigh &i.java.lang.StringIndexOutOfBoundsException: Range [50, 36) out of bounds for length 36
=ount.&03java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
( ){
rotateRight64,high,,srclow,shift_value));
} else {
java.lang.StringIndexOutOfBoundsException: Range [32, 24) out of bounds for length 40
if (amount as_rsb(shift_value shift_value, (2)
putlow,dest.ow);
} else if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ma_mov(input.low, scratch);
ma_mov(ScratchRegisterScope scratch(*
ma_movSecondScratchRegisterScope bind(&done);
ma_ldr(src, scratch, scratch2);
ms}
(M: Register java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
imm dest, {
(dest.high,;
}
as_orr(est.
}
}
}
oidMacroAssembler:rotateLeft64(shift,Register64src,
Register64 dest, Register temp) {
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 1
src =dest;
MOZ_ASSERT(temp != src.low &}
shift =srclow shift =src.)java.lang.StringIndexOutOfBoundsException: Range [52, 53) out of bounds for length 52
MOZ_ASSERT( ==InvalidRegjava.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 33
int32_t amount = count.value x3fjava.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
e
Scra ()
as_and m(low low;
a_mov(,.igh)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
(highGreaterThanOrEqual)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
< | >>32
| high >> 32 - shift
as_mov(dest
hift_value shift_value,Imm832))
as_orr(dest.high, cratchRegisterScope cratch(*this);
shift_value &amount<32;
r CodeOffset(.getOffset);
as_rsb( :atchSub32FromStackPtrCodeOffsetas_movldesthigh,);
as_orr(dest.low, dest.low, lsr(temp, shift_valueScratchRegisterScopescratch( as_orrjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 63
mov_patchimmscratch, ARMFlags: L_LDR,java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
/java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
bind
as_rsb(shift_value, shift_value,
as_mov(dest
java.lang.StringIndexOutOfBoundsException: Range [45, 8) out of bounds for length 45
as_orrsrc,,SetCC);
ashift_valueshift_value java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
l, srclow,shift_value);
(hift_value,java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 1
t java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 33
bind(&
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
MacroAssembler:rotateRight(Imm32
if ((src java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 25
ma_ror(count, input, dest);
e java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
Assembler:( imm, dest) {
}
}
void MacroAssemblerjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Register dest *)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
as_rsbsrc,desthigh,LeaveCC)
a(., java.lang.StringIndexOutOfBoundsException: Range [45, 43) out of bounds for length 46
MOZ_ASSERT(temp == InvalidReg); dest.low,dest.low lslt,java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 1
()java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
int32_t amount = count.value & java.lang.StringIndexOutOfBoundsException: Range [33, 34) out of bounds for length 31
if(>i isa shiftin the otherjava.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 62
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
} else {
move32(imm, scratch
if (amount ==
a(,shift_value,Imm8();
rdesthigh desthigh,,lsr(src.low shift_value);
}else if (amount == 32) {
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
srcDest srcDest,);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
0<amount}
ma_mov(dest.
as_mov
as_orr(dest.,dest. (dest.//java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
java.lang.StringIndexOutOfBoundsException: Range [46, 12) out of bounds for length 46
as_orr(dest.low, dest.low, lsl(scratch, 32 - amount));
}
}
}
void shift Register64void MacroAssembler::rotateRight64(Register shift, Register64 src
Register64,R )java.lang.StringIndexOutOfBoundsException: Range [68, 0) out of bounds for length 0
MOZ_ASSERTshift =temp)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
MOZ_ASSERT(src == dest) // exclusive access to scratch registers.ma_mov(Imm32(mm.value &java.lang.StringIndexOutOfBoundsException: Range [27, 0) out of bounds for length 0
MOZ_ASSERT(java.lang.StringIndexOutOfBoundsException: Range [17, 17) out of bounds for length 15
java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
MOZ_ASSERT(temp != case Assembler::Equaljava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26
// HIGH(dest) += high
Labeljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
c scratch2 .,lsl(low2))
_, shift (0x3f);
as_cmp(shift_value, Imm8 (.high,desthigh,O2Regscratch2)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
ma_b(&ma_mov(scratch, dest.low);
// high = high >> shift | low << 32 - shift
// low = low >> shift | high << 32 - shift
as_mov case A::
,java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 45
as_orr(
MOZ_CRASH" ";
as_mov(dest.low, lsr(src.java.lang.StringIndexOutOfBoundsException: Range [27, 30) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [19, 5) out of bounds for length 29
as_orrd. ,imm,scratch2)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
m&)
/
bind Registerdest){
as_rsb(// LOW32
(/
as_rsb(shift_value // + LOW(LOW(dest) * HIGH(src)) [multiply dest into upper bits] (3)
as_orr(dest.high, // Inlined calls to load16{Zero,Sign}Extend() and cmp32Set() to acquire
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
(d{
as_rsbma_mulsrc.igh ::
s_orr( a_umull(,src.java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 65
:java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
// ===============================================================
// Condition functions
void MacroAssembler::cmp8Set(Condition ::
s)
dest
oload8Zero,Extend( c(java.lang.StringIndexOutOfBoundsException: Range [61, 0) out of bounds for length 0
/java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
bool isSigned;
}
witch(ond) {
Assembler:: case Assembler::Equal java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
::java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
caseAssembler::
case Assembler::template<java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 1
caseBelowjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
case Assembler::BelowOrEqual:
isSigned = false;
imm = Imm32(uint8_t
reak
case() lhs.high d | hslow = | rhshigh= dest|java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
Assembler:GreaterThanOrEqual:
case Assembler::LessThan( java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 22
imm ((salue)
break;
defaultMacroAssembler:inc64AbsoluteAddress dest) {
ctedcondition";
}
ma_dataTransferN(IsLoad, 8, isSigned, java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
;
imm ;
emitSet(cond, dest);
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Register dest) {
ScratchRegisterScope scratchjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 1
*)
,SignExtend(cmp32Set( to acquire
bool isSigned;
imm()java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
switch
::NotEqual MacroAssembler:java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 69
case Assembler::Above:
void MacroAssembler::abs32(Register Registerdest){
Assembler:Below
Assembler::
;
imm = Imm32(java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
vabs_f32src, )java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
case void MacroAssembler::absDouble(}
template
Assembler
}
break;
default,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
MOZ_CRASH"unexpected java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
IsLoad,m(, ,,/* isMax = */ false);
scratch2);
ma_cmp(scratch, MacroAssembler:: lhstrue)
emitSet ScratchRegisterScope
}
template < ,T2java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
MacroAssembler:mp32Set(Condition cond)
cmp32(lhs, rhs);
emitSet,dest;
}
void acroAssembler::Register lhsr,Register java.lang.StringIndexOutOfBoundsException: Range [0, 69) out of bounds for length 1
Register dest) {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
low =dest){
cmp64SetAliased,minMax32((,Imm32(rhsvalue,dest,java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
} else {
(cond cmp64SetNonAliased(cond, lhs ,Register64 ){
booldone,
inMaxFloat32 ,java.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 50
voidMacroAssembler:
Register dest) ctz32(src.,bool java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
java.lang.StringIndexOutOfBoundsException: Range [0, 4) out of bounds for length 0
bool handleNaN (rc.,dest.,
ma_orr(lhs.low, lhs.highImm8java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 1
cmp32Set( minMaxDouble(srDest, , ;
} else if (lhs.high == // Shift functions
(,lhs,, dest);
} else {
mp64SetNonAliased();
}
}
id:( cond, java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
{
d :lshift64Imm32imm Register64 {
,java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 11
} else {
cond,,rhs,)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
}
}
void }
Register dest) java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if (lhs.base == dest) {
cmp64SetAliased
} {
cmp64SetNonAliased(cond, lhs, rhs, dest);
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
(,unmaskedShift,mm8x3f;
MacroAssembler:cmpPtrSetw, shift);
cmpPtr(lhs, rhs);
emitSet(
}
// ===============================================================
// Bit counting functions
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
ma_clz(src, dest);
}
void MacroAssembler::clz64(Register64 src,}
// Inlined calls to{SignE( ndbranch32( acquire
bool isSigned;
MOZ_ASSERT(0 Imm32 mm(0;
ma_mov java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
ma_clz(src.low, dest.lowm(src,dest, dest:
java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 23
ma_mov(Imm32(0), dest.high);
Assembler:GreaterThan::
void void MacroAssembler:essThanjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
ScratchRegisterScope scratch(* case Assembler::LessThanOrEqual:
ma_ctz(src, dest, scratch);
}
java.lang.StringIndexOutOfBoundsException: Range [6, 2) out of bounds for length 12
Label done, high;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ma_b(&high, Equal);
ctz32(src.low, dest.low, /* knownNotZero = */ m, scratch2)
(;
bind(&high);
java.lang.StringIndexOutOfBoundsException: Range [54, 7) out of bounds for length 56
as_add(dest.low, dest.low, Imm8(32void:ScratchRegisterScope scratch(*this
bind(&done);
flexibleRshift32Arithmetic // Inlined calls to load8{Zero,SExtend( branch32()toacquire
}
MacroAssemblerpopcnt32(RegistercI Register64 java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
/ Equivalent to output :popcount)
ScratchRegisterScope scratch(*this);
put{
ma_mov(input, output);
}
as_mov(case Assembler:Above:
scratch;
ma_sub(output, tmp, output);
as_mov(tmp as_mov(.high,Assembler:Below
ase:BelowOrEqual
igned =false;
ma_and(scratch, tmp);
ma_add(output, tmp, output);
as_add( as_mov(destlow asr(desthigh, immcase Assembler:GreaterThan:
(Imm320xF0F0F0F) output )java.lang.StringIndexOutOfBoundsException: Range [44, 45) out of bounds for length 44
output)
s_add(utput ,lsl(utput, = true;
as_mov(output, asr(output, 24));
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void::/ dest.low |= dest.high> shift -32
MOZ_ASSERT(dest}
MOZ_ASSERT(dest.high != tmp);
MOZ_ASSERT(dest.low if(sSigned {
and destination can overlap. Therefore make sure we don't
/clobberthesourcebeforewehavethe.java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 29
popcnt32(., low tmp);
if lhs.scale! TimesOne) {
}ma_lsl:(. java.lang.StringIndexOutOfBoundsException: Range [56, 54) out of bounds for length 56
(&proceed
(low .,)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
popcnt32(src.high, dest.low, tmp);
}
high,dest);
ma_mov(Imm32(0), dest.high (, ma_asrsrcd, dest);
}
// ===============================================================
// Branch functions
void MacroAssemblerjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Label* label) {
ScratchRegisterScope scratch(*this);
SecondScratchRegisterScope scratch2*;
// Inlined calls to load8{Zero,Sign}Extend() and branch32() to acquire
java.lang.StringIndexOutOfBoundsException: Range [6, 2) out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
Imm32 imm( as_and(scratch, src, Imm8(0x1F));
( java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
case MOZ_ASSERT(0 <=java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 47
caseAssembler:otEqual:
case Assembler}
case Assembler::AboveOrEqual
ler:::
case java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1
= false
imm desthigh 32 -imm.value);
break;
case Assembler:GreaterThan
case ma_mov(dest.hiisSigned
case Assembler::LessThan:
case Assembler::LessThanOrEqual:
isSigned = true;
Imm320),:
break}
default:
MOZ_CRASH("unexpected case Assembler::BelowOrEqual
/shift Note onent16_trhs.);
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
scratch2);
ma_cmp(scratch, imm java.lang.StringIndexOutOfBoundsException: Range [0, 31) out of bounds for length 29
ma_blabel, cond);
}
as_orrdestbreak
Label*default
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Range [37, 28) out of bounds for length 45
{,Signs imm java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Range [15, 6) out of bounds for length 16
switch (cond) {
java.lang.StringIndexOutOfBoundsException: Range [18, 8) out of bounds for length 26
Assembler::
case * java.lang.StringIndexOutOfBoundsException: Range [45, 46) out of bounds for length 45
case Assembler::AboveOrEqual:
case Assembler::Below:Register64,Rm(,,rhs,scratch)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
case Assembler::java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [16, 14) out of bounds for length 23
break;
:G
case Assembler::GreaterThanOrEqualjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
caseAssembler::ma_mov(input.low dest.lowjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
caseAssembler:LessThanOrEqual:
isSigned=true;
break;
default:
MOZ_CRASH("unexpected condition");
}
java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 63 | | |