1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 * vim: set ts=8 sts=2 et sw=2 tw=80: 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef jit_none_Lowering_none_h 8 #define jit_none_Lowering_none_h 9 10 #include "jit/shared/Lowering-shared.h" 11 12 namespace js { 13 namespace jit { 14 15 class LIRGeneratorNone : public LIRGeneratorShared { 16 protected: LIRGeneratorNone(MIRGenerator * gen,MIRGraph & graph,LIRGraph & lirGraph)17 LIRGeneratorNone(MIRGenerator* gen, MIRGraph& graph, LIRGraph& lirGraph) 18 : LIRGeneratorShared(gen, graph, lirGraph) { 19 MOZ_CRASH(); 20 } 21 22 LBoxAllocation useBoxFixed(MDefinition*, Register, Register, 23 bool useAtStart = false) { 24 MOZ_CRASH(); 25 } 26 useByteOpRegister(MDefinition *)27 LAllocation useByteOpRegister(MDefinition*) { MOZ_CRASH(); } useByteOpRegisterAtStart(MDefinition *)28 LAllocation useByteOpRegisterAtStart(MDefinition*) { MOZ_CRASH(); } useByteOpRegisterOrNonDoubleConstant(MDefinition *)29 LAllocation useByteOpRegisterOrNonDoubleConstant(MDefinition*) { 30 MOZ_CRASH(); 31 } tempByteOpRegister()32 LDefinition tempByteOpRegister() { MOZ_CRASH(); } tempToUnbox()33 LDefinition tempToUnbox() { MOZ_CRASH(); } needTempForPostBarrier()34 bool needTempForPostBarrier() { MOZ_CRASH(); } lowerUntypedPhiInput(MPhi *,uint32_t,LBlock *,size_t)35 void lowerUntypedPhiInput(MPhi*, uint32_t, LBlock*, size_t) { MOZ_CRASH(); } lowerInt64PhiInput(MPhi *,uint32_t,LBlock *,size_t)36 void lowerInt64PhiInput(MPhi*, uint32_t, LBlock*, size_t) { MOZ_CRASH(); } defineInt64Phi(MPhi *,size_t)37 void defineInt64Phi(MPhi*, size_t) { MOZ_CRASH(); } lowerForShift(LInstructionHelper<1,2,0> *,MDefinition *,MDefinition *,MDefinition *)38 void lowerForShift(LInstructionHelper<1, 2, 0>*, MDefinition*, MDefinition*, 39 MDefinition*) { 40 MOZ_CRASH(); 41 } lowerUrshD(MUrsh *)42 void lowerUrshD(MUrsh*) { MOZ_CRASH(); } lowerPowOfTwoI(MPow *)43 void lowerPowOfTwoI(MPow*) { MOZ_CRASH(); } 44 template <typename T> 45 void lowerForALU(T, MDefinition*, MDefinition*, MDefinition* v = nullptr) { 46 MOZ_CRASH(); 47 } 48 template <typename T> 49 void lowerForFPU(T, MDefinition*, MDefinition*, MDefinition* v = nullptr) { 50 MOZ_CRASH(); 51 } 52 template <typename T> 53 void lowerForALUInt64(T, MDefinition*, MDefinition*, 54 MDefinition* v = nullptr) { 55 MOZ_CRASH(); 56 } 57 void lowerForMulInt64(LMulI64*, MMul*, MDefinition*, 58 MDefinition* v = nullptr) { 59 MOZ_CRASH(); 60 } 61 template <typename T> 62 void lowerForShiftInt64(T, MDefinition*, MDefinition*, 63 MDefinition* v = nullptr) { 64 MOZ_CRASH(); 65 } lowerForBitAndAndBranch(LBitAndAndBranch *,MInstruction *,MDefinition *,MDefinition *)66 void lowerForBitAndAndBranch(LBitAndAndBranch*, MInstruction*, MDefinition*, 67 MDefinition*) { 68 MOZ_CRASH(); 69 } lowerForCompareI64AndBranch(MTest *,MCompare *,JSOp,MDefinition *,MDefinition *,MBasicBlock *,MBasicBlock *)70 void lowerForCompareI64AndBranch(MTest*, MCompare*, JSOp, MDefinition*, 71 MDefinition*, MBasicBlock*, MBasicBlock*) { 72 MOZ_CRASH(); 73 } 74 lowerConstantDouble(double,MInstruction *)75 void lowerConstantDouble(double, MInstruction*) { MOZ_CRASH(); } lowerConstantFloat32(float,MInstruction *)76 void lowerConstantFloat32(float, MInstruction*) { MOZ_CRASH(); } lowerTruncateDToInt32(MTruncateToInt32 *)77 void lowerTruncateDToInt32(MTruncateToInt32*) { MOZ_CRASH(); } lowerTruncateFToInt32(MTruncateToInt32 *)78 void lowerTruncateFToInt32(MTruncateToInt32*) { MOZ_CRASH(); } lowerBuiltinInt64ToFloatingPoint(MBuiltinInt64ToFloatingPoint * ins)79 void lowerBuiltinInt64ToFloatingPoint(MBuiltinInt64ToFloatingPoint* ins) { 80 MOZ_CRASH(); 81 } lowerWasmBuiltinTruncateToInt64(MWasmBuiltinTruncateToInt64 * ins)82 void lowerWasmBuiltinTruncateToInt64(MWasmBuiltinTruncateToInt64* ins) { 83 MOZ_CRASH(); 84 } lowerWasmBuiltinTruncateToInt32(MWasmBuiltinTruncateToInt32 * ins)85 void lowerWasmBuiltinTruncateToInt32(MWasmBuiltinTruncateToInt32* ins) { 86 MOZ_CRASH(); 87 } lowerDivI(MDiv *)88 void lowerDivI(MDiv*) { MOZ_CRASH(); } lowerModI(MMod *)89 void lowerModI(MMod*) { MOZ_CRASH(); } lowerDivI64(MDiv *)90 void lowerDivI64(MDiv*) { MOZ_CRASH(); } lowerWasmBuiltinDivI64(MWasmBuiltinDivI64 * div)91 void lowerWasmBuiltinDivI64(MWasmBuiltinDivI64* div) { MOZ_CRASH(); } lowerModI64(MMod *)92 void lowerModI64(MMod*) { MOZ_CRASH(); } lowerWasmBuiltinModI64(MWasmBuiltinModI64 * mod)93 void lowerWasmBuiltinModI64(MWasmBuiltinModI64* mod) { MOZ_CRASH(); } lowerNegI(MInstruction *,MDefinition *)94 void lowerNegI(MInstruction*, MDefinition*) { MOZ_CRASH(); } lowerNegI64(MInstruction *,MDefinition *)95 void lowerNegI64(MInstruction*, MDefinition*) { MOZ_CRASH(); } lowerMulI(MMul *,MDefinition *,MDefinition *)96 void lowerMulI(MMul*, MDefinition*, MDefinition*) { MOZ_CRASH(); } lowerUDiv(MDiv *)97 void lowerUDiv(MDiv*) { MOZ_CRASH(); } lowerUMod(MMod *)98 void lowerUMod(MMod*) { MOZ_CRASH(); } lowerWasmSelectI(MWasmSelect * select)99 void lowerWasmSelectI(MWasmSelect* select) { MOZ_CRASH(); } lowerWasmSelectI64(MWasmSelect * select)100 void lowerWasmSelectI64(MWasmSelect* select) { MOZ_CRASH(); } lowerWasmCompareAndSelect(MWasmSelect * ins,MDefinition * lhs,MDefinition * rhs,MCompare::CompareType compTy,JSOp jsop)101 void lowerWasmCompareAndSelect(MWasmSelect* ins, MDefinition* lhs, 102 MDefinition* rhs, MCompare::CompareType compTy, 103 JSOp jsop) { 104 MOZ_CRASH(); 105 } canSpecializeWasmCompareAndSelect(MCompare::CompareType compTy,MIRType insTy)106 bool canSpecializeWasmCompareAndSelect(MCompare::CompareType compTy, 107 MIRType insTy) { 108 MOZ_CRASH(); 109 } 110 lowerBigIntLsh(MBigIntLsh *)111 void lowerBigIntLsh(MBigIntLsh*) { MOZ_CRASH(); } lowerBigIntRsh(MBigIntRsh *)112 void lowerBigIntRsh(MBigIntRsh*) { MOZ_CRASH(); } lowerBigIntDiv(MBigIntDiv *)113 void lowerBigIntDiv(MBigIntDiv*) { MOZ_CRASH(); } lowerBigIntMod(MBigIntMod *)114 void lowerBigIntMod(MBigIntMod*) { MOZ_CRASH(); } 115 lowerAtomicLoad64(MLoadUnboxedScalar *)116 void lowerAtomicLoad64(MLoadUnboxedScalar*) { MOZ_CRASH(); } lowerAtomicStore64(MStoreUnboxedScalar *)117 void lowerAtomicStore64(MStoreUnboxedScalar*) { MOZ_CRASH(); } 118 newLTableSwitch(LAllocation,LDefinition,MTableSwitch *)119 LTableSwitch* newLTableSwitch(LAllocation, LDefinition, MTableSwitch*) { 120 MOZ_CRASH(); 121 } newLTableSwitchV(MTableSwitch *)122 LTableSwitchV* newLTableSwitchV(MTableSwitch*) { MOZ_CRASH(); } 123 }; 124 125 typedef LIRGeneratorNone LIRGeneratorSpecific; 126 127 } // namespace jit 128 } // namespace js 129 130 #endif /* jit_none_Lowering_none_h */ 131