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_LIR_none_h 8 #define jit_none_LIR_none_h 9 10 namespace js { 11 namespace jit { 12 13 class LUnboxFloatingPoint : public LInstruction { 14 public: 15 LIR_HEADER(UnboxFloatingPoint) 16 static const size_t Input = 0; 17 mir()18 MUnbox* mir() const { MOZ_CRASH(); } 19 output()20 const LDefinition* output() const { MOZ_CRASH(); } type()21 MIRType type() const { MOZ_CRASH(); } 22 }; 23 24 class LTableSwitch : public LInstruction { 25 public: LIR_HEADER(TableSwitch)26 LIR_HEADER(TableSwitch) 27 MTableSwitch* mir() { MOZ_CRASH(); } 28 index()29 const LAllocation* index() { MOZ_CRASH(); } tempInt()30 const LDefinition* tempInt() { MOZ_CRASH(); } tempPointer()31 const LDefinition* tempPointer() { MOZ_CRASH(); } 32 }; 33 34 class LTableSwitchV : public LInstruction { 35 public: LIR_HEADER(TableSwitchV)36 LIR_HEADER(TableSwitchV) 37 MTableSwitch* mir() { MOZ_CRASH(); } 38 tempInt()39 const LDefinition* tempInt() { MOZ_CRASH(); } tempFloat()40 const LDefinition* tempFloat() { MOZ_CRASH(); } tempPointer()41 const LDefinition* tempPointer() { MOZ_CRASH(); } 42 43 static const size_t InputValue = 0; 44 }; 45 46 class LWasmUint32ToFloat32 : public LInstructionHelper<1, 1, 0> { 47 public: LWasmUint32ToFloat32(const LAllocation &)48 explicit LWasmUint32ToFloat32(const LAllocation&) 49 : LInstructionHelper(Opcode::Invalid) { 50 MOZ_CRASH(); 51 } 52 }; 53 54 class LUnbox : public LInstructionHelper<1, 2, 0> { 55 public: mir()56 MUnbox* mir() const { MOZ_CRASH(); } payload()57 const LAllocation* payload() { MOZ_CRASH(); } type()58 const LAllocation* type() { MOZ_CRASH(); } extraName()59 const char* extraName() const { MOZ_CRASH(); } 60 }; 61 class LDivI : public LBinaryMath<1> { 62 public: LDivI(const LAllocation &,const LAllocation &,const LDefinition &)63 LDivI(const LAllocation&, const LAllocation&, const LDefinition&) 64 : LBinaryMath(Opcode::Invalid) { 65 MOZ_CRASH(); 66 } mir()67 MDiv* mir() const { MOZ_CRASH(); } 68 }; 69 class LDivPowTwoI : public LInstructionHelper<1, 1, 0> { 70 public: LDivPowTwoI(const LAllocation &,int32_t)71 LDivPowTwoI(const LAllocation&, int32_t) 72 : LInstructionHelper(Opcode::Invalid) { 73 MOZ_CRASH(); 74 } numerator()75 const LAllocation* numerator() { MOZ_CRASH(); } shift()76 int32_t shift() { MOZ_CRASH(); } mir()77 MDiv* mir() const { MOZ_CRASH(); } 78 }; 79 class LModI : public LBinaryMath<1> { 80 public: LModI(const LAllocation &,const LAllocation &,const LDefinition &)81 LModI(const LAllocation&, const LAllocation&, const LDefinition&) 82 : LBinaryMath(Opcode::Invalid) { 83 MOZ_CRASH(); 84 } 85 callTemp()86 const LDefinition* callTemp() { MOZ_CRASH(); } mir()87 MMod* mir() const { MOZ_CRASH(); } 88 }; 89 class LWasmUint32ToDouble : public LInstructionHelper<1, 1, 0> { 90 public: LWasmUint32ToDouble(const LAllocation &)91 explicit LWasmUint32ToDouble(const LAllocation&) 92 : LInstructionHelper(Opcode::Invalid) { 93 MOZ_CRASH(); 94 } 95 }; 96 class LModPowTwoI : public LInstructionHelper<1, 1, 0> { 97 public: shift()98 int32_t shift() { MOZ_CRASH(); } LModPowTwoI(const LAllocation & lhs,int32_t shift)99 LModPowTwoI(const LAllocation& lhs, int32_t shift) 100 : LInstructionHelper(Opcode::Invalid) { 101 MOZ_CRASH(); 102 } mir()103 MMod* mir() const { MOZ_CRASH(); } 104 }; 105 106 class LMulI : public LInstruction {}; 107 108 } // namespace jit 109 } // namespace js 110 111 #endif /* jit_none_LIR_none_h */ 112