summaryrefslogtreecommitdiffstats
path: root/js/src/jit/none/Lowering-none.h
blob: ad804b970bb6f6b192f39090dce13604f6690457 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 * vim: set ts=8 sts=2 et sw=2 tw=80:
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef jit_none_Lowering_none_h
#define jit_none_Lowering_none_h

#include "jit/shared/Lowering-shared.h"

namespace js {
namespace jit {

class LIRGeneratorNone : public LIRGeneratorShared {
 protected:
  LIRGeneratorNone(MIRGenerator* gen, MIRGraph& graph, LIRGraph& lirGraph)
      : LIRGeneratorShared(gen, graph, lirGraph) {
    MOZ_CRASH();
  }

  LBoxAllocation useBoxFixed(MDefinition*, Register, Register,
                             bool useAtStart = false) {
    MOZ_CRASH();
  }

  LAllocation useByteOpRegister(MDefinition*) { MOZ_CRASH(); }
  LAllocation useByteOpRegisterAtStart(MDefinition*) { MOZ_CRASH(); }
  LAllocation useByteOpRegisterOrNonDoubleConstant(MDefinition*) {
    MOZ_CRASH();
  }
  LDefinition tempByteOpRegister() { MOZ_CRASH(); }
  LDefinition tempToUnbox() { MOZ_CRASH(); }
  bool needTempForPostBarrier() { MOZ_CRASH(); }
  void lowerUntypedPhiInput(MPhi*, uint32_t, LBlock*, size_t) { MOZ_CRASH(); }
  void lowerInt64PhiInput(MPhi*, uint32_t, LBlock*, size_t) { MOZ_CRASH(); }
  void defineInt64Phi(MPhi*, size_t) { MOZ_CRASH(); }
  void lowerForShift(LInstructionHelper<1, 2, 0>*, MDefinition*, MDefinition*,
                     MDefinition*) {
    MOZ_CRASH();
  }
  void lowerUrshD(MUrsh*) { MOZ_CRASH(); }
  void lowerPowOfTwoI(MPow*) { MOZ_CRASH(); }
  template <typename T>
  void lowerForALU(T, MDefinition*, MDefinition*, MDefinition* v = nullptr) {
    MOZ_CRASH();
  }
  template <typename T>
  void lowerForFPU(T, MDefinition*, MDefinition*, MDefinition* v = nullptr) {
    MOZ_CRASH();
  }
  template <typename T>
  void lowerForALUInt64(T, MDefinition*, MDefinition*,
                        MDefinition* v = nullptr) {
    MOZ_CRASH();
  }
  void lowerForMulInt64(LMulI64*, MMul*, MDefinition*,
                        MDefinition* v = nullptr) {
    MOZ_CRASH();
  }
  template <typename T>
  void lowerForShiftInt64(T, MDefinition*, MDefinition*,
                          MDefinition* v = nullptr) {
    MOZ_CRASH();
  }
  void lowerForBitAndAndBranch(LBitAndAndBranch*, MInstruction*, MDefinition*,
                               MDefinition*) {
    MOZ_CRASH();
  }
  void lowerForCompareI64AndBranch(MTest*, MCompare*, JSOp, MDefinition*,
                                   MDefinition*, MBasicBlock*, MBasicBlock*) {
    MOZ_CRASH();
  }

  void lowerConstantDouble(double, MInstruction*) { MOZ_CRASH(); }
  void lowerConstantFloat32(float, MInstruction*) { MOZ_CRASH(); }
  void lowerTruncateDToInt32(MTruncateToInt32*) { MOZ_CRASH(); }
  void lowerTruncateFToInt32(MTruncateToInt32*) { MOZ_CRASH(); }
  void lowerBuiltinInt64ToFloatingPoint(MBuiltinInt64ToFloatingPoint* ins) {
    MOZ_CRASH();
  }
  void lowerWasmBuiltinTruncateToInt64(MWasmBuiltinTruncateToInt64* ins) {
    MOZ_CRASH();
  }
  void lowerWasmBuiltinTruncateToInt32(MWasmBuiltinTruncateToInt32* ins) {
    MOZ_CRASH();
  }
  void lowerDivI(MDiv*) { MOZ_CRASH(); }
  void lowerModI(MMod*) { MOZ_CRASH(); }
  void lowerDivI64(MDiv*) { MOZ_CRASH(); }
  void lowerWasmBuiltinDivI64(MWasmBuiltinDivI64* div) { MOZ_CRASH(); }
  void lowerModI64(MMod*) { MOZ_CRASH(); }
  void lowerWasmBuiltinModI64(MWasmBuiltinModI64* mod) { MOZ_CRASH(); }
  void lowerNegI(MInstruction*, MDefinition*) { MOZ_CRASH(); }
  void lowerNegI64(MInstruction*, MDefinition*) { MOZ_CRASH(); }
  void lowerMulI(MMul*, MDefinition*, MDefinition*) { MOZ_CRASH(); }
  void lowerUDiv(MDiv*) { MOZ_CRASH(); }
  void lowerUMod(MMod*) { MOZ_CRASH(); }
  void lowerWasmSelectI(MWasmSelect* select) { MOZ_CRASH(); }
  void lowerWasmSelectI64(MWasmSelect* select) { MOZ_CRASH(); }
  void lowerWasmCompareAndSelect(MWasmSelect* ins, MDefinition* lhs,
                                 MDefinition* rhs, MCompare::CompareType compTy,
                                 JSOp jsop) {
    MOZ_CRASH();
  }
  bool canSpecializeWasmCompareAndSelect(MCompare::CompareType compTy,
                                         MIRType insTy) {
    MOZ_CRASH();
  }

  void lowerBigIntLsh(MBigIntLsh*) { MOZ_CRASH(); }
  void lowerBigIntRsh(MBigIntRsh*) { MOZ_CRASH(); }
  void lowerBigIntDiv(MBigIntDiv*) { MOZ_CRASH(); }
  void lowerBigIntMod(MBigIntMod*) { MOZ_CRASH(); }

  void lowerAtomicLoad64(MLoadUnboxedScalar*) { MOZ_CRASH(); }
  void lowerAtomicStore64(MStoreUnboxedScalar*) { MOZ_CRASH(); }

  LTableSwitch* newLTableSwitch(LAllocation, LDefinition, MTableSwitch*) {
    MOZ_CRASH();
  }
  LTableSwitchV* newLTableSwitchV(MTableSwitch*) { MOZ_CRASH(); }
};

typedef LIRGeneratorNone LIRGeneratorSpecific;

}  // namespace jit
}  // namespace js

#endif /* jit_none_Lowering_none_h */