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_CodeGenerator_none_h
8 #define jit_none_CodeGenerator_none_h
9 
10 #include "jit/shared/CodeGenerator-shared.h"
11 
12 namespace js {
13 namespace jit {
14 
15 class CodeGeneratorNone : public CodeGeneratorShared {
16  protected:
CodeGeneratorNone(MIRGenerator * gen,LIRGraph * graph,MacroAssembler * masm)17   CodeGeneratorNone(MIRGenerator* gen, LIRGraph* graph, MacroAssembler* masm)
18       : CodeGeneratorShared(gen, graph, masm) {
19     MOZ_CRASH();
20   }
21 
toMoveOperand(LAllocation)22   MoveOperand toMoveOperand(LAllocation) const { MOZ_CRASH(); }
23   template <typename T1, typename T2>
bailoutCmp32(Assembler::Condition,T1,T2,LSnapshot *)24   void bailoutCmp32(Assembler::Condition, T1, T2, LSnapshot*) {
25     MOZ_CRASH();
26   }
27   template <typename T1, typename T2>
bailoutTest32(Assembler::Condition,T1,T2,LSnapshot *)28   void bailoutTest32(Assembler::Condition, T1, T2, LSnapshot*) {
29     MOZ_CRASH();
30   }
31   template <typename T1, typename T2>
bailoutCmpPtr(Assembler::Condition,T1,T2,LSnapshot *)32   void bailoutCmpPtr(Assembler::Condition, T1, T2, LSnapshot*) {
33     MOZ_CRASH();
34   }
bailoutTestPtr(Assembler::Condition,Register,Register,LSnapshot *)35   void bailoutTestPtr(Assembler::Condition, Register, Register, LSnapshot*) {
36     MOZ_CRASH();
37   }
bailoutIfFalseBool(Register,LSnapshot *)38   void bailoutIfFalseBool(Register, LSnapshot*) { MOZ_CRASH(); }
bailoutFrom(Label *,LSnapshot *)39   void bailoutFrom(Label*, LSnapshot*) { MOZ_CRASH(); }
bailout(LSnapshot *)40   void bailout(LSnapshot*) { MOZ_CRASH(); }
bailoutIf(Assembler::Condition,LSnapshot *)41   void bailoutIf(Assembler::Condition, LSnapshot*) { MOZ_CRASH(); }
generateOutOfLineCode()42   bool generateOutOfLineCode() { MOZ_CRASH(); }
testNullEmitBranch(Assembler::Condition,ValueOperand,MBasicBlock *,MBasicBlock *)43   void testNullEmitBranch(Assembler::Condition, ValueOperand, MBasicBlock*,
44                           MBasicBlock*) {
45     MOZ_CRASH();
46   }
testUndefinedEmitBranch(Assembler::Condition,ValueOperand,MBasicBlock *,MBasicBlock *)47   void testUndefinedEmitBranch(Assembler::Condition, ValueOperand, MBasicBlock*,
48                                MBasicBlock*) {
49     MOZ_CRASH();
50   }
testObjectEmitBranch(Assembler::Condition,ValueOperand,MBasicBlock *,MBasicBlock *)51   void testObjectEmitBranch(Assembler::Condition, ValueOperand, MBasicBlock*,
52                             MBasicBlock*) {
53     MOZ_CRASH();
54   }
testZeroEmitBranch(Assembler::Condition,Register,MBasicBlock *,MBasicBlock *)55   void testZeroEmitBranch(Assembler::Condition, Register, MBasicBlock*,
56                           MBasicBlock*) {
57     MOZ_CRASH();
58   }
emitTableSwitchDispatch(MTableSwitch *,Register,Register)59   void emitTableSwitchDispatch(MTableSwitch*, Register, Register) {
60     MOZ_CRASH();
61   }
emitBigIntDiv(LBigIntDiv *,Register,Register,Register,Label *)62   void emitBigIntDiv(LBigIntDiv*, Register, Register, Register, Label*) {
63     MOZ_CRASH();
64   }
emitBigIntMod(LBigIntMod *,Register,Register,Register,Label *)65   void emitBigIntMod(LBigIntMod*, Register, Register, Register, Label*) {
66     MOZ_CRASH();
67   }
ToValue(LInstruction *,size_t)68   ValueOperand ToValue(LInstruction*, size_t) { MOZ_CRASH(); }
ToTempValue(LInstruction *,size_t)69   ValueOperand ToTempValue(LInstruction*, size_t) { MOZ_CRASH(); }
generateInvalidateEpilogue()70   void generateInvalidateEpilogue() { MOZ_CRASH(); }
71 };
72 
73 typedef CodeGeneratorNone CodeGeneratorSpecific;
74 
75 }  // namespace jit
76 }  // namespace js
77 
78 #endif /* jit_none_CodeGenerator_none_h */
79