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