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(); }
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   }
lowerForBitAndAndBranch(LBitAndAndBranch *,MInstruction *,MDefinition *,MDefinition *)65   void lowerForBitAndAndBranch(LBitAndAndBranch*, MInstruction*, MDefinition*,
66                                MDefinition*) {
67     MOZ_CRASH();
68   }
69 
lowerConstantDouble(double,MInstruction *)70   void lowerConstantDouble(double, MInstruction*) { MOZ_CRASH(); }
lowerConstantFloat32(float,MInstruction *)71   void lowerConstantFloat32(float, MInstruction*) { MOZ_CRASH(); }
lowerTruncateDToInt32(MTruncateToInt32 *)72   void lowerTruncateDToInt32(MTruncateToInt32*) { MOZ_CRASH(); }
lowerTruncateFToInt32(MTruncateToInt32 *)73   void lowerTruncateFToInt32(MTruncateToInt32*) { MOZ_CRASH(); }
lowerDivI(MDiv *)74   void lowerDivI(MDiv*) { MOZ_CRASH(); }
lowerModI(MMod *)75   void lowerModI(MMod*) { MOZ_CRASH(); }
lowerDivI64(MDiv *)76   void lowerDivI64(MDiv*) { MOZ_CRASH(); }
lowerModI64(MMod *)77   void lowerModI64(MMod*) { MOZ_CRASH(); }
lowerMulI(MMul *,MDefinition *,MDefinition *)78   void lowerMulI(MMul*, MDefinition*, MDefinition*) { MOZ_CRASH(); }
lowerUDiv(MDiv *)79   void lowerUDiv(MDiv*) { MOZ_CRASH(); }
lowerUMod(MMod *)80   void lowerUMod(MMod*) { MOZ_CRASH(); }
81 
newLTableSwitch(LAllocation,LDefinition,MTableSwitch *)82   LTableSwitch* newLTableSwitch(LAllocation, LDefinition, MTableSwitch*) {
83     MOZ_CRASH();
84   }
newLTableSwitchV(MTableSwitch *)85   LTableSwitchV* newLTableSwitchV(MTableSwitch*) { MOZ_CRASH(); }
86 };
87 
88 typedef LIRGeneratorNone LIRGeneratorSpecific;
89 
90 }  // namespace jit
91 }  // namespace js
92 
93 #endif /* jit_none_Lowering_none_h */
94