Bug 1036781 - Part 9: Replace MOZ_ASSUME_UNREACHABLE with MOZ_CRASH in js/src/jit/arm/. r=jandem

This commit is contained in:
Chris Peterson 2014-08-26 22:39:44 -07:00
parent 1b7dc51246
commit a2f41dce6e
13 changed files with 74 additions and 79 deletions

View File

@ -397,7 +397,7 @@ VFPRegister::getRegisterDumpOffsetInBytes()
return id() * sizeof(float);
if (isDouble())
return id() * sizeof(double);
MOZ_ASSUME_UNREACHABLE();
MOZ_CRASH("not Single or Double");
}
uint32_t

View File

@ -72,7 +72,7 @@ ABIArgGenerator::next(MIRType type)
floatRegIndex_+=2;
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected argument type");
MOZ_CRASH("Unexpected argument type");
}
return current_;
@ -710,7 +710,7 @@ Assembler::GetCF32Target(Iter *iter)
}
MOZ_ASSUME_UNREACHABLE("unsupported branch relocation");
MOZ_CRASH("unsupported branch relocation");
}
uintptr_t
@ -774,7 +774,7 @@ Assembler::GetPtr32Target(Iter *start, Register *dest, RelocStyle *style)
return *ptr;
}
MOZ_ASSUME_UNREACHABLE("unsupported relocation");
MOZ_CRASH("unsupported relocation");
}
static JitCode *
@ -1687,7 +1687,7 @@ Assembler::as_extdtr(LoadStore ls, int size, bool IsSigned, Index mode,
extra_bits1 = 0;
break;
default:
MOZ_ASSUME_UNREACHABLE("SAY WHAT?");
MOZ_CRASH("SAY WHAT?");
}
return writeInst(extra_bits2 << 5 | extra_bits1 << 20 | 0x90 |
addr.encode() | RT(rt) | mode | c, dest);
@ -1785,7 +1785,7 @@ Assembler::PatchConstantPoolLoad(void* loadAddr, void* constPoolAddr)
int offset = (char *)constPoolAddr - (char *)loadAddr;
switch(data.getLoadType()) {
case PoolHintData::PoolBOGUS:
MOZ_ASSUME_UNREACHABLE("bogus load type!");
MOZ_CRASH("bogus load type!");
case PoolHintData::PoolDTR:
Dummy->as_dtr(IsLoad, 32, Offset, data.getReg(),
DTRAddr(pc, DtrOffImm(offset+4*data.getIndex() - 8)), data.getCond(), instAddr);
@ -2010,22 +2010,20 @@ Assembler::as_vnmul(VFPRegister vd, VFPRegister vn, VFPRegister vm,
Condition c)
{
return as_vfp_float(vd, vn, vm, OpvMul, c);
MOZ_ASSUME_UNREACHABLE("Feature NYI");
}
BufferOffset
Assembler::as_vnmla(VFPRegister vd, VFPRegister vn, VFPRegister vm,
Condition c)
{
MOZ_ASSUME_UNREACHABLE("Feature NYI");
MOZ_CRASH("Feature NYI");
}
BufferOffset
Assembler::as_vnmls(VFPRegister vd, VFPRegister vn, VFPRegister vm,
Condition c)
{
MOZ_ASSUME_UNREACHABLE("Feature NYI");
return BufferOffset();
MOZ_CRASH("Feature NYI");
}
BufferOffset
@ -2259,7 +2257,7 @@ Assembler::bind(Label *label, BufferOffset boff)
else if (branch.is<InstBLImm>())
as_bl(dest.diffB<BOffImm>(b), c, b);
else
MOZ_ASSUME_UNREACHABLE("crazy fixup!");
MOZ_CRASH("crazy fixup!");
b = next;
} while (more);
}
@ -2316,7 +2314,7 @@ Assembler::retarget(Label *label, Label *target)
else if (branch.is<InstBLImm>())
as_bl(BOffImm(prev), c, labelBranchOffset);
else
MOZ_ASSUME_UNREACHABLE("crazy fixup!");
MOZ_CRASH("crazy fixup!");
} else {
// The target is unbound and unused. We can just take the head of
// the list hanging off of label, and dump that into target.

View File

@ -1601,7 +1601,7 @@ class Assembler : public AssemblerShared
JS_ASSERT(rn.code() > dtmLastReg);
dtmRegBitField |= 1 << rn.code();
if (dtmLoadStore == IsLoad && rn.code() == 13 && dtmBase.code() == 13) {
MOZ_ASSUME_UNREACHABLE("ARM Spec says this is invalid");
MOZ_CRASH("ARM Spec says this is invalid");
}
}
void finishDataTransfer() {
@ -1726,7 +1726,7 @@ class Assembler : public AssemblerShared
static void PatchWrite_Imm32(CodeLocationLabel label, Imm32 imm);
static void PatchInstructionImmediate(uint8_t *code, PatchedImmPtr imm) {
MOZ_ASSUME_UNREACHABLE("Unused.");
MOZ_CRASH("Unused.");
}
static uint32_t AlignDoubleArg(uint32_t offset) {

View File

@ -84,7 +84,7 @@ IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations,
switch (mode_) {
case SequentialExecution: topIonScript_ = script()->ionScript(); break;
case ParallelExecution: topIonScript_ = script()->parallelIonScript(); break;
default: MOZ_ASSUME_UNREACHABLE("No such execution mode");
default: MOZ_CRASH("No such execution mode");
}
if (bailout->frameClass() == FrameSizeClass::None()) {

View File

@ -197,7 +197,7 @@ ICBinaryArith_Int32::Compiler::generateStubCode(MacroAssembler &masm)
}
break;
default:
MOZ_ASSUME_UNREACHABLE("Unhandled op for BinaryArith_Int32.");
MOZ_CRASH("Unhandled op for BinaryArith_Int32.");
}
EmitReturnFromIC(masm);
@ -248,7 +248,7 @@ ICUnaryArith_Int32::Compiler::generateStubCode(MacroAssembler &masm)
masm.ma_rsb(R0.payloadReg(), Imm32(0), R0.payloadReg());
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected op");
MOZ_CRASH("Unexpected op");
}
EmitReturnFromIC(masm);

View File

@ -875,7 +875,7 @@ CodeGeneratorARM::visitBitOpI(LBitOpI *ins)
masm.ma_and(ToRegister(rhs), ToRegister(lhs), ToRegister(dest));
break;
default:
MOZ_ASSUME_UNREACHABLE("unexpected binary opcode");
MOZ_CRASH("unexpected binary opcode");
}
return true;
@ -917,7 +917,7 @@ CodeGeneratorARM::visitShiftI(LShiftI *ins)
}
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected shift op");
MOZ_CRASH("Unexpected shift op");
}
} else {
// The shift amounts should be AND'ed into the 0-31 range since arm
@ -942,7 +942,7 @@ CodeGeneratorARM::visitShiftI(LShiftI *ins)
}
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected shift op");
MOZ_CRASH("Unexpected shift op");
}
}
@ -1148,7 +1148,7 @@ CodeGeneratorARM::visitMathD(LMathD *math)
masm.ma_vdiv(ToFloatRegister(src1), ToFloatRegister(src2), ToFloatRegister(output));
break;
default:
MOZ_ASSUME_UNREACHABLE("unexpected opcode");
MOZ_CRASH("unexpected opcode");
}
return true;
}
@ -1174,7 +1174,7 @@ CodeGeneratorARM::visitMathF(LMathF *math)
masm.ma_vdiv_f32(ToFloatRegister(src1), ToFloatRegister(src2), ToFloatRegister(output));
break;
default:
MOZ_ASSUME_UNREACHABLE("unexpected opcode");
MOZ_CRASH("unexpected opcode");
}
return true;
}
@ -1766,13 +1766,13 @@ DispatchIonCache::initializeAddCacheState(LInstruction *ins, AddCacheState *addS
bool
CodeGeneratorARM::visitLoadTypedArrayElementStatic(LLoadTypedArrayElementStatic *ins)
{
MOZ_ASSUME_UNREACHABLE("NYI");
MOZ_CRASH("NYI");
}
bool
CodeGeneratorARM::visitStoreTypedArrayElementStatic(LStoreTypedArrayElementStatic *ins)
{
MOZ_ASSUME_UNREACHABLE("NYI");
MOZ_CRASH("NYI");
}
bool
@ -1791,7 +1791,7 @@ CodeGeneratorARM::visitAsmJSLoadHeap(LAsmJSLoadHeap *ins)
case Scalar::Uint32: isSigned = true; size = 32; break;
case Scalar::Float64: isFloat = true; size = 64; break;
case Scalar::Float32: isFloat = true; size = 32; break;
default: MOZ_ASSUME_UNREACHABLE("unexpected array type");
default: MOZ_CRASH("unexpected array type");
}
const LAllocation *ptr = ins->ptr();
@ -1867,7 +1867,7 @@ CodeGeneratorARM::visitAsmJSStoreHeap(LAsmJSStoreHeap *ins)
case Scalar::Uint32: isSigned = true; size = 32; break;
case Scalar::Float64: isFloat = true; size = 64; break;
case Scalar::Float32: isFloat = true; size = 32; break;
default: MOZ_ASSUME_UNREACHABLE("unexpected array type");
default: MOZ_CRASH("unexpected array type");
}
const LAllocation *ptr = ins->ptr();
if (ptr->isConstant()) {
@ -2144,11 +2144,11 @@ CodeGeneratorARM::visitNegF(LNegF *ins)
bool
CodeGeneratorARM::visitForkJoinGetSlice(LForkJoinGetSlice *ins)
{
MOZ_ASSUME_UNREACHABLE("NYI");
MOZ_CRASH("NYI");
}
JitCode *
JitRuntime::generateForkJoinGetSliceStub(JSContext *cx)
{
MOZ_ASSUME_UNREACHABLE("NYI");
MOZ_CRASH("NYI");
}

View File

@ -229,13 +229,13 @@ class CodeGeneratorARM : public CodeGeneratorShared
public:
// Unimplemented SIMD instructions
bool visitSimdValueX4(LSimdValueX4 *lir) { MOZ_ASSUME_UNREACHABLE("NYI"); }
bool visitInt32x4(LInt32x4 *ins) { MOZ_ASSUME_UNREACHABLE("NYI"); }
bool visitFloat32x4(LFloat32x4 *ins) { MOZ_ASSUME_UNREACHABLE("NYI"); }
bool visitSimdExtractElementI(LSimdExtractElementI *ins) { MOZ_ASSUME_UNREACHABLE("NYI"); }
bool visitSimdExtractElementF(LSimdExtractElementF *ins) { MOZ_ASSUME_UNREACHABLE("NYI"); }
bool visitSimdBinaryArithIx4(LSimdBinaryArithIx4 *lir) { MOZ_ASSUME_UNREACHABLE("NYI"); }
bool visitSimdBinaryArithFx4(LSimdBinaryArithFx4 *lir) { MOZ_ASSUME_UNREACHABLE("NYI"); }
bool visitSimdValueX4(LSimdValueX4 *lir) { MOZ_CRASH("NYI"); }
bool visitInt32x4(LInt32x4 *ins) { MOZ_CRASH("NYI"); }
bool visitFloat32x4(LFloat32x4 *ins) { MOZ_CRASH("NYI"); }
bool visitSimdExtractElementI(LSimdExtractElementI *ins) { MOZ_CRASH("NYI"); }
bool visitSimdExtractElementF(LSimdExtractElementF *ins) { MOZ_CRASH("NYI"); }
bool visitSimdBinaryArithIx4(LSimdBinaryArithIx4 *lir) { MOZ_CRASH("NYI"); }
bool visitSimdBinaryArithFx4(LSimdBinaryArithFx4 *lir) { MOZ_CRASH("NYI"); }
};
typedef CodeGeneratorARM CodeGeneratorSpecific;

View File

@ -540,13 +540,13 @@ LIRGeneratorARM::lowerTruncateFToInt32(MTruncateToInt32 *ins)
bool
LIRGeneratorARM::visitStoreTypedArrayElementStatic(MStoreTypedArrayElementStatic *ins)
{
MOZ_ASSUME_UNREACHABLE("NYI");
MOZ_CRASH("NYI");
}
bool
LIRGeneratorARM::visitForkJoinGetSlice(MForkJoinGetSlice *ins)
{
MOZ_ASSUME_UNREACHABLE("NYI");
MOZ_CRASH("NYI");
}
//__aeabi_uidiv

View File

@ -782,7 +782,7 @@ MacroAssemblerARM::ma_cmn(Register src1, Register src2, Condition c)
void
MacroAssemblerARM::ma_cmn(Register src1, Operand op, Condition c)
{
MOZ_ASSUME_UNREACHABLE("Feature NYI");
MOZ_CRASH("Feature NYI");
}
// Compare (src - src2).
@ -816,7 +816,7 @@ MacroAssemblerARM::ma_cmp(Register src1, Operand op, Condition c)
as_cmp(src1, O2Reg(ScratchRegister), c);
break;
default:
MOZ_ASSUME_UNREACHABLE("trying to compare FP and integer registers");
MOZ_CRASH("trying to compare FP and integer registers");
}
}
void
@ -889,7 +889,7 @@ MacroAssemblerARM::ma_check_mul(Register src1, Register src2, Register dest, Con
return NotEqual;
}
MOZ_ASSUME_UNREACHABLE("Condition NYI");
MOZ_CRASH("Condition NYI");
}
Assembler::Condition
@ -907,7 +907,7 @@ MacroAssemblerARM::ma_check_mul(Register src1, Imm32 imm, Register dest, Conditi
return NotEqual;
}
MOZ_ASSUME_UNREACHABLE("Condition NYI");
MOZ_CRASH("Condition NYI");
}
void
@ -1023,7 +1023,7 @@ void
MacroAssemblerARM::ma_dtr(LoadStore ls, Register rn, Register rm, Register rt,
Index mode, Assembler::Condition cc)
{
MOZ_ASSUME_UNREACHABLE("Feature NYI");
MOZ_CRASH("Feature NYI");
}
void
@ -1365,7 +1365,7 @@ MacroAssemblerARM::ma_b(void *target, Relocation::Kind reloc, Assembler::Conditi
as_Imm32Pool(pc, trg, c);
break;
default:
MOZ_ASSUME_UNREACHABLE("Other methods of generating tracable jumps NYI");
MOZ_CRASH("Other methods of generating tracable jumps NYI");
}
}
@ -3510,7 +3510,7 @@ MacroAssemblerARMCompat::loadValue(Address src, ValueOperand val)
mode = IB;
break;
default:
MOZ_ASSUME_UNREACHABLE("Bogus Offset for LoadValue as DTM");
MOZ_CRASH("Bogus Offset for LoadValue as DTM");
}
startDataTransferM(IsLoad, Register::FromCode(srcOp.base()), mode);
transferReg(val.payloadReg());
@ -3580,7 +3580,7 @@ MacroAssemblerARMCompat::storePayload(Register src, Operand dest)
ma_str(src, ToPayload(dest));
return;
}
MOZ_ASSUME_UNREACHABLE("why do we do all of these things?");
MOZ_CRASH("why do we do all of these things?");
}
@ -3630,7 +3630,7 @@ MacroAssemblerARMCompat::storeTypeTag(ImmTag tag, Operand dest) {
return;
}
MOZ_ASSUME_UNREACHABLE("why do we do all of these things?");
MOZ_CRASH("why do we do all of these things?");
}
@ -3850,7 +3850,7 @@ MacroAssemblerARMCompat::passHardFpABIArg(const MoveOperand &from, MoveOp::Type
break;
}
default:
MOZ_ASSUME_UNREACHABLE("Unexpected argument type");
MOZ_CRASH("Unexpected argument type");
}
enoughMemory_ = moveResolver_.addMove(from, to, type);
@ -3880,7 +3880,7 @@ MacroAssemblerARMCompat::passSoftFpABIArg(const MoveOperand &from, MoveOp::Type
passedArgTypes_ = (passedArgTypes_ << ArgType_Shift) | ArgType_General;
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected argument type");
MOZ_CRASH("Unexpected argument type");
}
Register destReg;
@ -4038,7 +4038,7 @@ MacroAssemblerARMCompat::callWithABIPost(uint32_t stackAdjust, MoveOp::Type resu
break;
default:
MOZ_ASSUME_UNREACHABLE("unexpected callWithABI result");
MOZ_CRASH("unexpected callWithABI result");
}
freeStack(stackAdjust);
@ -4078,7 +4078,7 @@ AssertValidABIFunctionType(uint32_t passedArgTypes)
case Args_Int_IntDouble:
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected type");
MOZ_CRASH("Unexpected type");
}
}
#endif
@ -4093,7 +4093,7 @@ MacroAssemblerARMCompat::callWithABI(void *fun, MoveOp::Type result)
case MoveOp::GENERAL: passedArgTypes_ |= ArgType_General; break;
case MoveOp::DOUBLE: passedArgTypes_ |= ArgType_Double; break;
case MoveOp::FLOAT32: passedArgTypes_ |= ArgType_Float32; break;
default: MOZ_ASSUME_UNREACHABLE("Invalid return type");
default: MOZ_CRASH("Invalid return type");
}
#ifdef DEBUG
AssertValidABIFunctionType(passedArgTypes_);

View File

@ -421,7 +421,7 @@ class MacroAssemblerARM : public Assembler
return transferMultipleByRunsImpl
<FloatRegisterBackwardIterator>(set, ls, rm, mode, -1);
}
MOZ_ASSUME_UNREACHABLE("Invalid data transfer addressing mode");
MOZ_CRASH("Invalid data transfer addressing mode");
}
private:
@ -536,10 +536,10 @@ class MacroAssemblerARMCompat : public MacroAssemblerARM
mov(ImmWord(uintptr_t(imm.value)), dest);
}
void mov(Register src, Address dest) {
MOZ_ASSUME_UNREACHABLE("NYI-IC");
MOZ_CRASH("NYI-IC");
}
void mov(Address src, Register dest) {
MOZ_ASSUME_UNREACHABLE("NYI-IC");
MOZ_CRASH("NYI-IC");
}
void call(const Register reg) {
@ -1336,15 +1336,15 @@ class MacroAssemblerARMCompat : public MacroAssemblerARM
void loadPrivate(const Address &address, Register dest);
void loadAlignedInt32x4(const Address &addr, FloatRegister dest) { MOZ_ASSUME_UNREACHABLE("NYI"); }
void storeAlignedInt32x4(FloatRegister src, Address addr) { MOZ_ASSUME_UNREACHABLE("NYI"); }
void loadUnalignedInt32x4(const Address &addr, FloatRegister dest) { MOZ_ASSUME_UNREACHABLE("NYI"); }
void storeUnalignedInt32x4(FloatRegister src, Address addr) { MOZ_ASSUME_UNREACHABLE("NYI"); }
void loadAlignedInt32x4(const Address &addr, FloatRegister dest) { MOZ_CRASH("NYI"); }
void storeAlignedInt32x4(FloatRegister src, Address addr) { MOZ_CRASH("NYI"); }
void loadUnalignedInt32x4(const Address &addr, FloatRegister dest) { MOZ_CRASH("NYI"); }
void storeUnalignedInt32x4(FloatRegister src, Address addr) { MOZ_CRASH("NYI"); }
void loadAlignedFloat32x4(const Address &addr, FloatRegister dest) { MOZ_ASSUME_UNREACHABLE("NYI"); }
void storeAlignedFloat32x4(FloatRegister src, Address addr) { MOZ_ASSUME_UNREACHABLE("NYI"); }
void loadUnalignedFloat32x4(const Address &addr, FloatRegister dest) { MOZ_ASSUME_UNREACHABLE("NYI"); }
void storeUnalignedFloat32x4(FloatRegister src, Address addr) { MOZ_ASSUME_UNREACHABLE("NYI"); }
void loadAlignedFloat32x4(const Address &addr, FloatRegister dest) { MOZ_CRASH("NYI"); }
void storeAlignedFloat32x4(FloatRegister src, Address addr) { MOZ_CRASH("NYI"); }
void loadUnalignedFloat32x4(const Address &addr, FloatRegister dest) { MOZ_CRASH("NYI"); }
void storeUnalignedFloat32x4(FloatRegister src, Address addr) { MOZ_CRASH("NYI"); }
void loadDouble(const Address &addr, FloatRegister dest);
void loadDouble(const BaseIndex &src, FloatRegister dest);

View File

@ -151,7 +151,7 @@ MoveEmitterARM::breakCycle(const MoveOperand &from, const MoveOperand &to,
}
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected move type");
MOZ_CRASH("Unexpected move type");
}
}
@ -194,7 +194,7 @@ MoveEmitterARM::completeCycle(const MoveOperand &from, const MoveOperand &to, Mo
}
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected move type");
MOZ_CRASH("Unexpected move type");
}
}
@ -223,7 +223,7 @@ MoveEmitterARM::emitMove(const MoveOperand &from, const MoveOperand &to)
masm.ma_str(from.reg(), toOperand(to, false));
break;
default:
MOZ_ASSUME_UNREACHABLE("strange move!");
MOZ_CRASH("strange move!");
}
} else if (to.isGeneralReg()) {
JS_ASSERT(from.isMemoryOrEffectiveAddress());
@ -326,7 +326,7 @@ MoveEmitterARM::emit(const MoveOp &move)
emitMove(from, to);
break;
default:
MOZ_ASSUME_UNREACHABLE("Unexpected move type");
MOZ_CRASH("Unexpected move type");
}
}

View File

@ -1650,7 +1650,7 @@ Simulator::conditionallyExecute(SimInstruction *instr)
case Assembler::GT: return !z_flag_ && (n_flag_ == v_flag_);
case Assembler::LE: return z_flag_ || (n_flag_ != v_flag_);
case Assembler::AL: return true;
default: MOZ_ASSUME_UNREACHABLE();
default: MOZ_CRASH();
}
return false;
}
@ -1765,7 +1765,7 @@ Simulator::getShiftRm(SimInstruction *instr, bool *carry_out)
if (instr->bit(4) == 0) {
// By immediate.
if (shift == ROR && shift_amount == 0) {
MOZ_ASSUME_UNREACHABLE("NYI");
MOZ_CRASH("NYI");
return result;
}
if ((shift == LSR || shift == ASR) && shift_amount == 0)
@ -1826,8 +1826,7 @@ Simulator::getShiftRm(SimInstruction *instr, bool *carry_out)
}
default:
MOZ_ASSUME_UNREACHABLE();
break;
MOZ_CRASH();
}
} else {
// By register.
@ -1904,8 +1903,7 @@ Simulator::getShiftRm(SimInstruction *instr, bool *carry_out)
}
default:
MOZ_ASSUME_UNREACHABLE();
break;
MOZ_CRASH();
}
}
return result;
@ -1949,8 +1947,7 @@ Simulator::processPU(SimInstruction *instr, int num_regs, int reg_size,
rn_val = *end_address;
break;
default:
MOZ_ASSUME_UNREACHABLE();
break;
MOZ_CRASH();
}
return rn_val;
}
@ -2291,7 +2288,7 @@ Simulator::softwareInterrupt(SimInstruction *instr)
break;
}
default:
MOZ_ASSUME_UNREACHABLE("call");
MOZ_CRASH("call");
}
if (single_stepping_)
@ -3335,7 +3332,7 @@ Simulator::decodeTypeVFP(SimInstruction *instr)
const bool is_vmls = (instr->opc3Value() & 0x1);
if (instr->szValue() != 0x1)
MOZ_ASSUME_UNREACHABLE(); // Not used by V8.
MOZ_CRASH("Not used by V8.");
const double dd_val = get_double_from_d_register(vd);
const double dn_val = get_double_from_d_register(vn);
@ -3742,7 +3739,7 @@ Simulator::decodeVCVTBetweenFloatingPointAndIntegerFrac(SimInstruction *instr)
set_s_register_from_sinteger(dst, temp);
}
} else {
MOZ_ASSUME_UNREACHABLE(); // Not implemented, fixed to float.
MOZ_CRASH(); // Not implemented, fixed to float.
}
}

View File

@ -705,7 +705,7 @@ JitRuntime::generateBailoutHandler(JSContext *cx, ExecutionMode mode)
GenerateParallelBailoutThunk(masm, NO_FRAME_SIZE_CLASS_ID);
break;
default:
MOZ_ASSUME_UNREACHABLE("No such execution mode");
MOZ_CRASH("No such execution mode");
}
Linker linker(masm);
@ -839,7 +839,7 @@ JitRuntime::generateVMWrapper(JSContext *cx, const VMFunction &f)
masm.branchIfFalseBool(r0, masm.failureLabel(f.executionMode));
break;
default:
MOZ_ASSUME_UNREACHABLE("unknown failure kind");
MOZ_CRASH("unknown failure kind");
}
// Load the outparam and free any allocated stack.