File tree Expand file tree Collapse file tree 6 files changed +45
-114
lines changed Expand file tree Collapse file tree 6 files changed +45
-114
lines changed Original file line number Diff line number Diff line change 4975
4975
operation : AtomicOp
4976
4976
4977
4977
- name : WasmAtomicExchangeI64
4978
- gen_boilerplate : false
4978
+ result_type : Int64
4979
+ operands :
4980
+ memoryBase : WordSized
4981
+ ptr : WordSized
4982
+ value : Int64
4983
+ arguments :
4984
+ access : const wasm::MemoryAccessDesc&
4979
4985
# endif
4980
4986
4981
4987
# ifdef JS_CODEGEN_X64
5074
5080
num_temps64 : 1
5075
5081
5076
5082
- name : WasmAtomicExchangeI64
5077
- gen_boilerplate : false
5083
+ result_type : Int64
5084
+ operands :
5085
+ ptr : WordSized
5086
+ value : Int64
5087
+ memoryBase : WordSized
5088
+ arguments :
5089
+ access : const wasm::MemoryAccessDesc&
5078
5090
# endif
5079
5091
5080
5092
# ifdef JS_CODEGEN_ARM64
5172
5184
mir_op : WasmAtomicBinopHeap
5173
5185
5174
5186
- name : WasmAtomicExchangeI64
5175
- gen_boilerplate : false
5187
+ result_type : Int64
5188
+ operands :
5189
+ ptr : WordSized
5190
+ value : Int64
5191
+ memoryBase : WordSized
5192
+ mir_op : WasmAtomicExchangeHeap
5176
5193
# endif
5177
5194
5178
5195
# ifdef JS_CODEGEN_MIPS64
5225
5242
mir_op : WasmAtomicBinopHeap
5226
5243
5227
5244
- name : WasmAtomicExchangeI64
5228
- gen_boilerplate : false
5245
+ result_type : Int64
5246
+ operands :
5247
+ ptr : WordSized
5248
+ value : Int64
5249
+ memoryBase : WordSized
5250
+ mir_op : WasmAtomicExchangeHeap
5229
5251
# endif
5230
5252
5231
5253
# ifdef JS_CODEGEN_LOONG64
5266
5288
mir_op : WasmAtomicBinopHeap
5267
5289
5268
5290
- name : WasmAtomicExchangeI64
5269
- gen_boilerplate : false
5291
+ result_type : Int64
5292
+ operands :
5293
+ ptr : WordSized
5294
+ value : Int64
5295
+ memoryBase : WordSized
5296
+ mir_op : WasmAtomicExchangeHeap
5270
5297
# endif
5271
5298
5272
5299
# ifdef JS_CODEGEN_RISCV64
5298
5325
gen_boilerplate : false
5299
5326
5300
5327
- name : WasmAtomicBinopI64
5301
- gen_boilerplate : false
5328
+ result_type : Int64
5329
+ operands :
5330
+ ptr : WordSized
5331
+ value : Int64
5332
+ memoryBase : WordSized
5333
+ num_temps64 : 1
5334
+ mir_op : WasmAtomicBinopHeap
5302
5335
5303
5336
- name : WasmAtomicExchangeI64
5304
- gen_boilerplate : false
5337
+ result_type : Int64
5338
+ operands :
5339
+ ptr : WordSized
5340
+ value : Int64
5341
+ memoryBase : WordSized
5342
+ mir_op : WasmAtomicExchangeHeap
5305
5343
# endif
5306
5344
5307
5345
# ifdef FUZZING_JS_FUZZILLI
Original file line number Diff line number Diff line change @@ -331,28 +331,6 @@ class LWasmCompareExchangeI64
331
331
const LAllocation* memoryBase () { return getOperand (1 + 2 * INT64_PIECES); }
332
332
};
333
333
334
- class LWasmAtomicExchangeI64
335
- : public LInstructionHelper<INT64_PIECES, 2 + INT64_PIECES, 0 > {
336
- const wasm::MemoryAccessDesc& access_;
337
-
338
- public:
339
- LIR_HEADER (WasmAtomicExchangeI64);
340
-
341
- LWasmAtomicExchangeI64 (const LAllocation& ptr, const LInt64Allocation& value,
342
- const LAllocation& memoryBase,
343
- const wasm::MemoryAccessDesc& access)
344
- : LInstructionHelper(classOpcode), access_(access) {
345
- setOperand (0 , ptr);
346
- setInt64Operand (1 , value);
347
- setOperand (3 , memoryBase);
348
- }
349
-
350
- const LAllocation* ptr () { return getOperand (0 ); }
351
- LInt64Allocation value () { return getInt64Operand (1 ); }
352
- const LAllocation* memoryBase () { return getOperand (3 ); }
353
- const wasm::MemoryAccessDesc& access () { return access_; }
354
- };
355
-
356
334
} // namespace jit
357
335
} // namespace js
358
336
Original file line number Diff line number Diff line change @@ -158,27 +158,6 @@ class LWasmCompareExchangeI64
158
158
}
159
159
};
160
160
161
- class LWasmAtomicExchangeI64
162
- : public LInstructionHelper<INT64_PIECES, 2 + INT64_PIECES, 0 > {
163
- public:
164
- LIR_HEADER (WasmAtomicExchangeI64);
165
-
166
- LWasmAtomicExchangeI64 (const LAllocation& ptr, const LInt64Allocation& value,
167
- const LAllocation& memoryBase)
168
- : LInstructionHelper(classOpcode) {
169
- setOperand (0 , ptr);
170
- setInt64Operand (1 , value);
171
- setOperand (1 + INT64_PIECES, memoryBase);
172
- }
173
-
174
- const LAllocation* ptr () { return getOperand (0 ); }
175
- LInt64Allocation value () { return getInt64Operand (1 ); }
176
- const LAllocation* memoryBase () { return getOperand (1 + INT64_PIECES); }
177
- const MWasmAtomicExchangeHeap* mir () const {
178
- return mir_->toWasmAtomicExchangeHeap ();
179
- }
180
- };
181
-
182
161
class LDivOrModI64 : public LBinaryMath <1 > {
183
162
public:
184
163
LIR_HEADER (DivOrModI64)
Original file line number Diff line number Diff line change @@ -233,27 +233,6 @@ class LWasmCompareExchangeI64
233
233
}
234
234
};
235
235
236
- class LWasmAtomicExchangeI64
237
- : public LInstructionHelper<INT64_PIECES, 2 + INT64_PIECES, 0 > {
238
- public:
239
- LIR_HEADER (WasmAtomicExchangeI64);
240
-
241
- LWasmAtomicExchangeI64 (const LAllocation& ptr, const LInt64Allocation& value,
242
- const LAllocation& memoryBase)
243
- : LInstructionHelper(classOpcode) {
244
- setOperand (0 , ptr);
245
- setInt64Operand (1 , value);
246
- setOperand (1 + INT64_PIECES, memoryBase);
247
- }
248
-
249
- const LAllocation* ptr () { return getOperand (0 ); }
250
- LInt64Allocation value () { return getInt64Operand (1 ); }
251
- const LAllocation* memoryBase () { return getOperand (1 + INT64_PIECES); }
252
- const MWasmAtomicExchangeHeap* mir () const {
253
- return mir_->toWasmAtomicExchangeHeap ();
254
- }
255
- };
256
-
257
236
} // namespace jit
258
237
} // namespace js
259
238
Original file line number Diff line number Diff line change @@ -158,27 +158,6 @@ class LWasmCompareExchangeI64
158
158
}
159
159
};
160
160
161
- class LWasmAtomicExchangeI64
162
- : public LInstructionHelper<INT64_PIECES, 2 + INT64_PIECES, 0 > {
163
- public:
164
- LIR_HEADER (WasmAtomicExchangeI64);
165
-
166
- LWasmAtomicExchangeI64 (const LAllocation& ptr, const LInt64Allocation& value,
167
- const LAllocation& memoryBase)
168
- : LInstructionHelper(classOpcode) {
169
- setOperand (0 , ptr);
170
- setInt64Operand (1 , value);
171
- setOperand (1 + INT64_PIECES, memoryBase);
172
- }
173
-
174
- const LAllocation* ptr () { return getOperand (0 ); }
175
- LInt64Allocation value () { return getInt64Operand (1 ); }
176
- const LAllocation* memoryBase () { return getOperand (1 + INT64_PIECES); }
177
- const MWasmAtomicExchangeHeap* mir () const {
178
- return mir_->toWasmAtomicExchangeHeap ();
179
- }
180
- };
181
-
182
161
class LDivOrModI64 : public LBinaryMath <1 > {
183
162
public:
184
163
LIR_HEADER (DivOrModI64)
Original file line number Diff line number Diff line change @@ -216,28 +216,6 @@ class LWasmCompareExchangeI64
216
216
LInt64Allocation replacement () { return getInt64Operand (2 + INT64_PIECES); }
217
217
};
218
218
219
- class LWasmAtomicExchangeI64
220
- : public LInstructionHelper<INT64_PIECES, 2 + INT64_PIECES, 0 > {
221
- const wasm::MemoryAccessDesc& access_;
222
-
223
- public:
224
- LIR_HEADER (WasmAtomicExchangeI64);
225
-
226
- LWasmAtomicExchangeI64 (const LAllocation& memoryBase, const LAllocation& ptr,
227
- const LInt64Allocation& value,
228
- const wasm::MemoryAccessDesc& access)
229
- : LInstructionHelper(classOpcode), access_(access) {
230
- setOperand (0 , memoryBase);
231
- setOperand (1 , ptr);
232
- setInt64Operand (2 , value);
233
- }
234
-
235
- const LAllocation* memoryBase () { return getOperand (0 ); }
236
- const LAllocation* ptr () { return getOperand (1 ); }
237
- LInt64Allocation value () { return getInt64Operand (2 ); }
238
- const wasm::MemoryAccessDesc& access () { return access_; }
239
- };
240
-
241
219
} // namespace jit
242
220
} // namespace js
243
221
You can’t perform that action at this time.
0 commit comments