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