Lowering-wasm32.h (4533B)
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_wasm32_Lowering_wasm32_h 8 #define jit_wasm32_Lowering_wasm32_h 9 10 #include "jit/shared/Lowering-shared.h" 11 12 namespace js::jit { 13 14 class LIRGeneratorWasm32 : public LIRGeneratorShared { 15 protected: 16 LIRGeneratorWasm32(MIRGenerator* gen, MIRGraph& graph, LIRGraph& lirGraph) 17 : LIRGeneratorShared(gen, graph, lirGraph) { 18 MOZ_CRASH(); 19 } 20 21 LBoxAllocation useBoxFixed(MDefinition*, Register, Register, 22 bool useAtStart = false) { 23 MOZ_CRASH(); 24 } 25 26 LAllocation useByteOpRegister(MDefinition*) { MOZ_CRASH(); } 27 LAllocation useByteOpRegisterAtStart(MDefinition*) { MOZ_CRASH(); } 28 LAllocation useByteOpRegisterOrNonDoubleConstant(MDefinition*) { 29 MOZ_CRASH(); 30 } 31 LDefinition tempByteOpRegister() { MOZ_CRASH(); } 32 LDefinition tempToUnbox() { MOZ_CRASH(); } 33 bool needTempForPostBarrier() { MOZ_CRASH(); } 34 void lowerUntypedPhiInput(MPhi*, uint32_t, LBlock*, size_t) { MOZ_CRASH(); } 35 void lowerInt64PhiInput(MPhi*, uint32_t, LBlock*, size_t) { MOZ_CRASH(); } 36 void defineInt64Phi(MPhi*, size_t) { MOZ_CRASH(); } 37 void lowerForShift(LInstructionHelper<1, 2, 0>*, MDefinition*, MDefinition*, 38 MDefinition*) { 39 MOZ_CRASH(); 40 } 41 void lowerUrshD(MUrsh*) { MOZ_CRASH(); } 42 void lowerPowOfTwoI(MPow*) { MOZ_CRASH(); } 43 template <typename T> 44 void lowerForALU(T, MDefinition*, MDefinition*, MDefinition* v = nullptr) { 45 MOZ_CRASH(); 46 } 47 template <typename T> 48 void lowerForFPU(T, MDefinition*, MDefinition*, MDefinition* v = nullptr) { 49 MOZ_CRASH(); 50 } 51 template <typename T> 52 void lowerForALUInt64(T, MDefinition*, MDefinition*, 53 MDefinition* v = nullptr) { 54 MOZ_CRASH(); 55 } 56 void lowerForMulInt64(LMulI64*, MMul*, MDefinition*, 57 MDefinition* v = nullptr) { 58 MOZ_CRASH(); 59 } 60 template <typename T> 61 void lowerForShiftInt64(T, MDefinition*, MDefinition*, 62 MDefinition* v = nullptr) { 63 MOZ_CRASH(); 64 } 65 66 void lowerConstantDouble(double, MInstruction*) { MOZ_CRASH(); } 67 void lowerConstantFloat32(float, MInstruction*) { MOZ_CRASH(); } 68 void lowerTruncateDToInt32(MTruncateToInt32*) { MOZ_CRASH(); } 69 void lowerTruncateFToInt32(MTruncateToInt32*) { MOZ_CRASH(); } 70 void lowerBuiltinInt64ToFloatingPoint(MBuiltinInt64ToFloatingPoint* ins) { 71 MOZ_CRASH(); 72 } 73 void lowerWasmBuiltinTruncateToInt64(MWasmBuiltinTruncateToInt64* ins) { 74 MOZ_CRASH(); 75 } 76 void lowerWasmBuiltinTruncateToInt32(MWasmBuiltinTruncateToInt32* ins) { 77 MOZ_CRASH(); 78 } 79 void lowerDivI(MDiv*) { MOZ_CRASH(); } 80 void lowerModI(MMod*) { MOZ_CRASH(); } 81 void lowerDivI64(MDiv*) { MOZ_CRASH(); } 82 void lowerWasmBuiltinDivI64(MWasmBuiltinDivI64* div) { MOZ_CRASH(); } 83 void lowerModI64(MMod*) { MOZ_CRASH(); } 84 void lowerWasmBuiltinModI64(MWasmBuiltinModI64* mod) { MOZ_CRASH(); } 85 void lowerMulI(MMul*, MDefinition*, MDefinition*) { MOZ_CRASH(); } 86 void lowerUDiv(MDiv*) { MOZ_CRASH(); } 87 void lowerUMod(MMod*) { MOZ_CRASH(); } 88 void lowerUDivI64(MDiv*) { MOZ_CRASH(); } 89 void lowerUModI64(MMod*) { MOZ_CRASH(); } 90 void lowerWasmSelectI(MWasmSelect* select) { MOZ_CRASH(); } 91 void lowerWasmSelectI64(MWasmSelect* select) { MOZ_CRASH(); } 92 void lowerWasmCompareAndSelect(MWasmSelect* ins, MDefinition* lhs, 93 MDefinition* rhs, MCompare::CompareType compTy, 94 JSOp jsop) { 95 MOZ_CRASH(); 96 } 97 bool canSpecializeWasmCompareAndSelect(MCompare::CompareType compTy, 98 MIRType insTy) { 99 MOZ_CRASH(); 100 } 101 102 void lowerBigIntPtrLsh(MBigIntPtrLsh*) { MOZ_CRASH(); } 103 void lowerBigIntPtrRsh(MBigIntPtrRsh*) { MOZ_CRASH(); } 104 void lowerBigIntPtrDiv(MBigIntPtrDiv*) { MOZ_CRASH(); } 105 void lowerBigIntPtrMod(MBigIntPtrMod*) { MOZ_CRASH(); } 106 107 void lowerAtomicLoad64(MLoadUnboxedScalar*) { MOZ_CRASH(); } 108 void lowerAtomicStore64(MStoreUnboxedScalar*) { MOZ_CRASH(); } 109 110 LTableSwitch* newLTableSwitch(LAllocation, LDefinition) { MOZ_CRASH(); } 111 LTableSwitchV* newLTableSwitchV(const LBoxAllocation&) { MOZ_CRASH(); } 112 }; 113 114 using LIRGeneratorSpecific = LIRGeneratorWasm32; 115 116 } // namespace js::jit 117 118 #endif /* jit_wasm32_Lowering_wasm32_h */