Lines Matching refs:mcgraph
74 mcgraph()->machine()->Load(type), instance_node_.get(), \
75 mcgraph()->Int32Constant(WASM_INSTANCE_OBJECT_OFFSET(name)), Effect(), \
80 mcgraph()->machine()->Load(MachineType::TaggedPointer()), array_node, \
81 mcgraph()->Int32Constant(FixedArrayOffsetMinusTag(index)), Effect(), \
93 void MergeControlToEnd(MachineGraph* mcgraph, Node* node) { in MergeControlToEnd() argument
94 Graph* g = mcgraph->graph(); in MergeControlToEnd()
96 NodeProperties::MergeControlToEnd(g, mcgraph->common(), node); in MergeControlToEnd()
98 g->SetEnd(g->NewNode(mcgraph->common()->End(1), node)); in MergeControlToEnd()
118 wasm::ModuleEnv* env, Zone* zone, MachineGraph* mcgraph, in WasmGraphBuilder() argument
122 mcgraph_(mcgraph), in WasmGraphBuilder()
134 Node* WasmGraphBuilder::Error() { return mcgraph()->Dead(); } in Error()
137 Node* start = graph()->NewNode(mcgraph()->common()->Start(params)); in Start()
143 return graph()->NewNode(mcgraph()->common()->Parameter(index), in Param()
148 return graph()->NewNode(mcgraph()->common()->Loop(1), entry); in Loop()
153 graph()->NewNode(mcgraph()->common()->Terminate(), effect, control); in Terminate()
154 MergeControlToEnd(mcgraph(), terminate); in Terminate()
169 *if_success = graph()->NewNode(mcgraph()->common()->IfSuccess(), node); in ThrowsException()
171 graph()->NewNode(mcgraph()->common()->IfException(), node, node); in ThrowsException()
178 merge->AppendInput(mcgraph()->zone(), from); in AppendToMerge()
181 merge, mcgraph()->common()->ResizeMergeOrPhi(merge->op(), new_size)); in AppendToMerge()
187 phi->InsertInput(mcgraph()->zone(), phi->InputCount() - 1, from); in AppendToPhi()
189 phi, mcgraph()->common()->ResizeMergeOrPhi(phi->op(), new_size)); in AppendToPhi()
193 return graph()->NewNode(mcgraph()->common()->Merge(count), count, controls); in Merge()
202 mcgraph()->common()->Phi(wasm::ValueTypes::MachineRepresentationFor(type), in Phi()
212 return graph()->NewNode(mcgraph()->common()->EffectPhi(count), count + 1, in EffectPhi()
222 return mcgraph()->IntPtrConstant(0); in NoContextConstant()
226 return mcgraph()->Uint32Constant(value); in Uint32Constant()
230 return mcgraph()->Int32Constant(value); in Int32Constant()
234 return mcgraph()->Int64Constant(value); in Int64Constant()
238 return mcgraph()->IntPtrConstant(value); in IntPtrConstant()
255 mcgraph()->machine()->Load(MachineType::Pointer()), instance_node_.get(), in StackCheck()
256 mcgraph()->Int32Constant(WASM_INSTANCE_OBJECT_OFFSET(StackLimitAddress)), in StackCheck()
259 mcgraph()->machine()->Load(MachineType::Pointer()), limit_address, in StackCheck()
260 mcgraph()->IntPtrConstant(0), limit_address, *control); in StackCheck()
262 Node* pointer = graph()->NewNode(mcgraph()->machine()->LoadStackPointer()); in StackCheck()
265 graph()->NewNode(mcgraph()->machine()->UintLessThan(), limit, pointer); in StackCheck()
267 Diamond stack_check(graph(), mcgraph()->common(), check, BranchHint::kTrue); in StackCheck()
274 mcgraph()->zone(), // zone in StackCheck()
282 stack_check_code_node_.set(mcgraph()->RelocatableIntPtrConstant( in StackCheck()
284 stack_check_call_operator_ = mcgraph()->common()->Call(call_descriptor); in StackCheck()
304 Node* dummy = graph()->NewNode(mcgraph()->common()->Dead()); in PatchInStackCheckIfNeeded()
323 MachineOperatorBuilder* m = mcgraph()->machine(); in Binop()
592 MachineOperatorBuilder* m = mcgraph()->machine(); in Unop()
596 return graph()->NewNode(op, input, mcgraph()->Int32Constant(0)); in Unop()
798 return graph()->NewNode(op, input, mcgraph()->Int64Constant(0)); in Unop()
846 return mcgraph()->machine()->Is32() in Unop()
872 return mcgraph()->Float32Constant(value); in Float32Constant()
876 return mcgraph()->Float64Constant(value); in Float64Constant()
880 Node* Branch(MachineGraph* mcgraph, Node* cond, Node** true_node, in Branch() argument
885 mcgraph->graph()->NewNode(mcgraph->common()->Branch(hint), cond, control); in Branch()
886 *true_node = mcgraph->graph()->NewNode(mcgraph->common()->IfTrue(), branch); in Branch()
887 *false_node = mcgraph->graph()->NewNode(mcgraph->common()->IfFalse(), branch); in Branch()
894 return Branch(mcgraph(), cond, true_node, false_node, Control(), in BranchNoHint()
900 return Branch(mcgraph(), cond, true_node, false_node, Control(), in BranchExpectTrue()
906 return Branch(mcgraph(), cond, true_node, false_node, Control(), in BranchExpectFalse()
937 Node* node = SetControl(graph()->NewNode(mcgraph()->common()->TrapIf(trap_id), in TrapIfTrue()
947 mcgraph()->common()->TrapUnless(trap_id), cond, Effect(), Control())); in TrapIfFalse()
962 graph()->NewNode(mcgraph()->machine()->Word32Equal(), in TrapIfEq32()
963 node, mcgraph()->Int32Constant(val)), in TrapIfEq32()
981 graph()->NewNode(mcgraph()->machine()->Word64Equal(), node, in TrapIfEq64()
982 mcgraph()->Int64Constant(val)), in TrapIfEq64()
993 return graph()->NewNode(mcgraph()->common()->Switch(count), key, Control()); in Switch()
998 return graph()->NewNode(mcgraph()->common()->IfValue(value), sw); in IfValue()
1003 return graph()->NewNode(mcgraph()->common()->IfDefault(), sw); in IfDefault()
1017 buf[0] = mcgraph()->Int32Constant(0); in Return()
1022 graph()->NewNode(mcgraph()->common()->Return(count), count + 3, buf); in Return()
1024 MergeControlToEnd(mcgraph(), ret); in Return()
1038 if (!mcgraph()->machine()->Word32ShiftIsSafe()) { in MaskShiftCount32()
1043 if (match.Value() != masked) node = mcgraph()->Int32Constant(masked); in MaskShiftCount32()
1045 node = graph()->NewNode(mcgraph()->machine()->Word32And(), node, in MaskShiftCount32()
1046 mcgraph()->Int32Constant(kMask32)); in MaskShiftCount32()
1054 if (!mcgraph()->machine()->Word32ShiftIsSafe()) { in MaskShiftCount64()
1059 if (match.Value() != masked) node = mcgraph()->Int64Constant(masked); in MaskShiftCount64()
1061 node = graph()->NewNode(mcgraph()->machine()->Word64And(), node, in MaskShiftCount64()
1062 mcgraph()->Int64Constant(kMask64)); in MaskShiftCount64()
1086 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildChangeEndiannessStore()
1097 result = mcgraph()->Int64Constant(0); in BuildChangeEndiannessStore()
1104 result = mcgraph()->Int32Constant(0); in BuildChangeEndiannessStore()
1126 graph()->NewNode(m->Word32Shl(), value, mcgraph()->Int32Constant(16)); in BuildChangeEndiannessStore()
1131 graph()->NewNode(m->Word32Shl(), value, mcgraph()->Int32Constant(16)); in BuildChangeEndiannessStore()
1150 graph()->NewNode(mcgraph()->machine()->I32x4ExtractLane(lane), in BuildChangeEndiannessStore()
1156 graph()->NewNode(mcgraph()->machine()->S128And(), value, value); in BuildChangeEndiannessStore()
1160 graph()->NewNode(mcgraph()->machine()->I32x4ReplaceLane(3 - lane), in BuildChangeEndiannessStore()
1183 mcgraph()->Int64Constant(shiftCount)); in BuildChangeEndiannessStore()
1185 mcgraph()->Int64Constant(shiftCount)); in BuildChangeEndiannessStore()
1188 mcgraph()->Int64Constant(static_cast<uint64_t>(0xFF) in BuildChangeEndiannessStore()
1192 mcgraph()->Int64Constant(static_cast<uint64_t>(0xFF) << i)); in BuildChangeEndiannessStore()
1197 mcgraph()->Int32Constant(shiftCount)); in BuildChangeEndiannessStore()
1199 mcgraph()->Int32Constant(shiftCount)); in BuildChangeEndiannessStore()
1202 mcgraph()->Int32Constant(static_cast<uint32_t>(0xFF) in BuildChangeEndiannessStore()
1206 mcgraph()->Int32Constant(static_cast<uint32_t>(0xFF) << i)); in BuildChangeEndiannessStore()
1235 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildChangeEndiannessLoad()
1246 result = mcgraph()->Int64Constant(0); in BuildChangeEndiannessLoad()
1254 result = mcgraph()->Int32Constant(0); in BuildChangeEndiannessLoad()
1277 mcgraph()->Int32Constant(16))); in BuildChangeEndiannessLoad()
1290 graph()->NewNode(mcgraph()->machine()->I32x4ExtractLane(lane), in BuildChangeEndiannessLoad()
1296 graph()->NewNode(mcgraph()->machine()->S128And(), value, value); in BuildChangeEndiannessLoad()
1300 graph()->NewNode(mcgraph()->machine()->I32x4ReplaceLane(3 - lane), in BuildChangeEndiannessLoad()
1322 mcgraph()->Int64Constant(shiftCount)); in BuildChangeEndiannessLoad()
1324 mcgraph()->Int64Constant(shiftCount)); in BuildChangeEndiannessLoad()
1327 mcgraph()->Int64Constant(static_cast<uint64_t>(0xFF) in BuildChangeEndiannessLoad()
1331 mcgraph()->Int64Constant(static_cast<uint64_t>(0xFF) << i)); in BuildChangeEndiannessLoad()
1336 mcgraph()->Int32Constant(shiftCount)); in BuildChangeEndiannessLoad()
1338 mcgraph()->Int32Constant(shiftCount)); in BuildChangeEndiannessLoad()
1341 mcgraph()->Int32Constant(static_cast<uint32_t>(0xFF) in BuildChangeEndiannessLoad()
1345 mcgraph()->Int32Constant(static_cast<uint32_t>(0xFF) << i)); in BuildChangeEndiannessLoad()
1375 shiftBitCount = mcgraph()->Int32Constant(64 - valueSizeInBits); in BuildChangeEndiannessLoad()
1383 shiftBitCount = mcgraph()->Int32Constant(32 - valueSizeInBits); in BuildChangeEndiannessLoad()
1400 mcgraph()->Int32Constant(0x7FFFFFFF)), in BuildF32CopySign()
1402 mcgraph()->Int32Constant(0x80000000)))); in BuildF32CopySign()
1413 mcgraph()->Int64Constant(0x7FFFFFFFFFFFFFFF)), in BuildF64CopySign()
1415 mcgraph()->Int64Constant(0x8000000000000000)))); in BuildF64CopySign()
1419 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildF64CopySign()
1427 mcgraph()->Int32Constant(0x7FFFFFFF)), in BuildF64CopySign()
1429 mcgraph()->Int32Constant(0x80000000))); in BuildF64CopySign()
1493 return builder->mcgraph()->machine()->TruncateFloat32ToInt32(); in ConvertOp()
1496 return builder->mcgraph()->machine()->TruncateFloat32ToUint32(); in ConvertOp()
1499 return builder->mcgraph()->machine()->ChangeFloat64ToInt32(); in ConvertOp()
1502 return builder->mcgraph()->machine()->TruncateFloat64ToUint32(); in ConvertOp()
1505 return builder->mcgraph()->machine()->TryTruncateFloat32ToInt64(); in ConvertOp()
1508 return builder->mcgraph()->machine()->TryTruncateFloat32ToUint64(); in ConvertOp()
1511 return builder->mcgraph()->machine()->TryTruncateFloat64ToInt64(); in ConvertOp()
1514 return builder->mcgraph()->machine()->TryTruncateFloat64ToUint64(); in ConvertOp()
1649 return builder->graph()->NewNode(builder->mcgraph()->common()->Projection(1), in ConvertTrapTest()
1682 converted_value = graph()->NewNode(mcgraph()->common()->Projection(0), in BuildIntConvertFloat()
1697 Diamond tl_d(graph(), mcgraph()->common(), test, BranchHint::kFalse); in BuildIntConvertFloat()
1700 Diamond nan_d(graph(), mcgraph()->common(), nan_test, BranchHint::kFalse); in BuildIntConvertFloat()
1703 Diamond sat_d(graph(), mcgraph()->common(), neg_test, BranchHint::kNone); in BuildIntConvertFloat()
1713 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32AsmjsSConvertF32()
1720 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32AsmjsSConvertF64()
1726 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32AsmjsUConvertF32()
1733 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32AsmjsUConvertF64()
1741 graph()->NewNode(mcgraph()->machine()->StackSlot(input_type)); in BuildBitCountingCall()
1743 const Operator* store_op = mcgraph()->machine()->Store( in BuildBitCountingCall()
1746 mcgraph()->Int32Constant(0), input, Effect(), in BuildBitCountingCall()
1752 Node* function = graph()->NewNode(mcgraph()->common()->ExternalConstant(ref)); in BuildBitCountingCall()
1866 graph()->NewNode(mcgraph()->machine()->StackSlot(stack_slot_bytes)); in BuildCFuncInstruction()
1868 const Operator* store_op = mcgraph()->machine()->Store( in BuildCFuncInstruction()
1870 SetEffect(graph()->NewNode(store_op, stack_slot, mcgraph()->Int32Constant(0), in BuildCFuncInstruction()
1873 Node* function = graph()->NewNode(mcgraph()->common()->ExternalConstant(ref)); in BuildCFuncInstruction()
1877 mcgraph()->Int32Constant(type_size), input1, in BuildCFuncInstruction()
1885 return SetEffect(graph()->NewNode(mcgraph()->machine()->Load(type), in BuildCFuncInstruction()
1886 stack_slot, mcgraph()->Int32Constant(0), in BuildCFuncInstruction()
1921 graph()->NewNode(mcgraph()->machine()->StackSlot(stack_slot_size)); in BuildIntToFloatConversionInstruction()
1922 const Operator* store_op = mcgraph()->machine()->Store( in BuildIntToFloatConversionInstruction()
1924 SetEffect(graph()->NewNode(store_op, stack_slot, mcgraph()->Int32Constant(0), in BuildIntToFloatConversionInstruction()
1928 Node* function = graph()->NewNode(mcgraph()->common()->ExternalConstant(ref)); in BuildIntToFloatConversionInstruction()
1930 return SetEffect(graph()->NewNode(mcgraph()->machine()->Load(result_type), in BuildIntToFloatConversionInstruction()
1931 stack_slot, mcgraph()->Int32Constant(0), in BuildIntToFloatConversionInstruction()
1968 graph()->NewNode(mcgraph()->machine()->StackSlot(stack_slot_size)); in BuildCcallConvertFloat()
1969 const Operator* store_op = mcgraph()->machine()->Store( in BuildCcallConvertFloat()
1976 graph()->NewNode(mcgraph()->common()->ExternalConstant(call_ref)); in BuildCcallConvertFloat()
1980 return SetEffect(graph()->NewNode(mcgraph()->machine()->Load(int_ty), in BuildCcallConvertFloat()
1985 Diamond tl_d(graph(), mcgraph()->common(), test, BranchHint::kFalse); in BuildCcallConvertFloat()
1988 Diamond nan_d(graph(), mcgraph()->common(), nan_test, BranchHint::kFalse); in BuildCcallConvertFloat()
1991 Diamond sat_d(graph(), mcgraph()->common(), neg_test, BranchHint::kNone); in BuildCcallConvertFloat()
1996 SetEffect(graph()->NewNode(mcgraph()->machine()->Load(int_ty), stack_slot, in BuildCcallConvertFloat()
2008 mcgraph()->zone(), // zone in GrowMemory()
2016 Node* call_target = mcgraph()->RelocatableIntPtrConstant( in GrowMemory()
2019 SetControl(graph()->NewNode(mcgraph()->common()->Call(call_descriptor), in GrowMemory()
2049 MachineOperatorBuilder* m = mcgraph()->machine(); in Throw()
2081 MachineOperatorBuilder* machine = mcgraph()->machine(); in BuildEncodeException32BitValue()
2102 MachineOperatorBuilder* machine = mcgraph()->machine(); in BuildDecodeException32BitValue()
2181 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32DivS()
2187 graph()->NewNode(m->Word32Equal(), right, mcgraph()->Int32Constant(-1)), in BuildI32DivS()
2192 SetControl(graph()->NewNode(mcgraph()->common()->Merge(2), denom_is_not_m1, in BuildI32DivS()
2202 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32RemS()
2207 graph(), mcgraph()->common(), in BuildI32RemS()
2208 graph()->NewNode(m->Word32Equal(), right, mcgraph()->Int32Constant(-1)), in BuildI32RemS()
2212 return d.Phi(MachineRepresentation::kWord32, mcgraph()->Int32Constant(0), in BuildI32RemS()
2218 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32DivU()
2225 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32RemU()
2231 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32AsmjsDivS()
2236 return mcgraph()->Int32Constant(0); in BuildI32AsmjsDivS()
2239 return graph()->NewNode(m->Int32Sub(), mcgraph()->Int32Constant(0), left); in BuildI32AsmjsDivS()
2252 graph(), mcgraph()->common(), in BuildI32AsmjsDivS()
2253 graph()->NewNode(m->Word32Equal(), right, mcgraph()->Int32Constant(0)), in BuildI32AsmjsDivS()
2258 graph(), mcgraph()->common(), in BuildI32AsmjsDivS()
2259 graph()->NewNode(m->Word32Equal(), right, mcgraph()->Int32Constant(-1)), in BuildI32AsmjsDivS()
2264 graph()->NewNode(m->Int32Sub(), mcgraph()->Int32Constant(0), left); in BuildI32AsmjsDivS()
2268 z.Phi(MachineRepresentation::kWord32, mcgraph()->Int32Constant(0), div)); in BuildI32AsmjsDivS()
2272 CommonOperatorBuilder* c = mcgraph()->common(); in BuildI32AsmjsRemS()
2273 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32AsmjsRemS()
2274 Node* const zero = mcgraph()->Int32Constant(0); in BuildI32AsmjsRemS()
2304 Node* const minus_one = mcgraph()->Int32Constant(-1); in BuildI32AsmjsRemS()
2370 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32AsmjsDivU()
2379 graph(), mcgraph()->common(), in BuildI32AsmjsDivU()
2380 graph()->NewNode(m->Word32Equal(), right, mcgraph()->Int32Constant(0)), in BuildI32AsmjsDivU()
2383 return z.Phi(MachineRepresentation::kWord32, mcgraph()->Int32Constant(0), in BuildI32AsmjsDivU()
2384 graph()->NewNode(mcgraph()->machine()->Uint32Div(), left, right, in BuildI32AsmjsDivU()
2389 MachineOperatorBuilder* m = mcgraph()->machine(); in BuildI32AsmjsRemU()
2393 graph(), mcgraph()->common(), in BuildI32AsmjsRemU()
2394 graph()->NewNode(m->Word32Equal(), right, mcgraph()->Int32Constant(0)), in BuildI32AsmjsRemU()
2397 Node* rem = graph()->NewNode(mcgraph()->machine()->Uint32Mod(), left, right, in BuildI32AsmjsRemU()
2399 return z.Phi(MachineRepresentation::kWord32, mcgraph()->Int32Constant(0), in BuildI32AsmjsRemU()
2405 if (mcgraph()->machine()->Is32()) { in BuildI64DivS()
2413 BranchExpectFalse(graph()->NewNode(mcgraph()->machine()->Word64Equal(), right, in BuildI64DivS()
2414 mcgraph()->Int64Constant(-1)), in BuildI64DivS()
2420 SetControl(graph()->NewNode(mcgraph()->common()->Merge(2), denom_is_not_m1, in BuildI64DivS()
2425 return graph()->NewNode(mcgraph()->machine()->Int64Div(), left, right, in BuildI64DivS()
2431 if (mcgraph()->machine()->Is32()) { in BuildI64RemS()
2436 Diamond d(mcgraph()->graph(), mcgraph()->common(), in BuildI64RemS()
2437 graph()->NewNode(mcgraph()->machine()->Word64Equal(), right, in BuildI64RemS()
2438 mcgraph()->Int64Constant(-1))); in BuildI64RemS()
2442 Node* rem = graph()->NewNode(mcgraph()->machine()->Int64Mod(), left, right, in BuildI64RemS()
2445 return d.Phi(MachineRepresentation::kWord64, mcgraph()->Int64Constant(0), in BuildI64RemS()
2451 if (mcgraph()->machine()->Is32()) { in BuildI64DivU()
2455 return graph()->NewNode(mcgraph()->machine()->Uint64Div(), left, right, in BuildI64DivU()
2460 if (mcgraph()->machine()->Is32()) { in BuildI64RemU()
2464 return graph()->NewNode(mcgraph()->machine()->Uint64Mod(), left, right, in BuildI64RemU()
2474 graph()->NewNode(mcgraph()->machine()->StackSlot(2 * sizeof(double))); in BuildDiv64Call()
2476 const Operator* store_op = mcgraph()->machine()->Store( in BuildDiv64Call()
2478 SetEffect(graph()->NewNode(store_op, stack_slot, mcgraph()->Int32Constant(0), in BuildDiv64Call()
2481 mcgraph()->Int32Constant(sizeof(double)), right, in BuildDiv64Call()
2487 Node* function = graph()->NewNode(mcgraph()->common()->ExternalConstant(ref)); in BuildDiv64Call()
2492 return SetEffect(graph()->NewNode(mcgraph()->machine()->Load(result_type), in BuildDiv64Call()
2493 stack_slot, mcgraph()->Int32Constant(0), in BuildDiv64Call()
2505 Linkage::GetSimplifiedCDescriptor(mcgraph()->zone(), sig); in BuildCCall()
2507 const Operator* op = mcgraph()->common()->Call(call_descriptor); in BuildCCall()
2537 GetWasmCallDescriptor(mcgraph()->zone(), sig, use_retpoline); in BuildWasmCall()
2538 const Operator* op = mcgraph()->common()->Call(call_descriptor); in BuildWasmCall()
2553 (*rets)[i] = graph()->NewNode(mcgraph()->common()->Projection(i), call, in BuildWasmCall()
2573 mcgraph()->machine()->Load(MachineType::Pointer()), imported_targets, in BuildImportWasmCall()
2574 mcgraph()->Int32Constant(func_index * kPointerSize), Effect(), in BuildImportWasmCall()
2590 graph()->NewNode(mcgraph()->machine()->IntAdd(), imported_instances, in BuildImportWasmCall()
2591 mcgraph()->IntPtrConstant(FixedArrayOffsetMinusTag(0))); in BuildImportWasmCall()
2593 mcgraph()->machine()->IntMul(), Uint32ToUintptr(func_index), in BuildImportWasmCall()
2594 mcgraph()->Int32Constant(kPointerSize)); in BuildImportWasmCall()
2596 graph()->NewNode(mcgraph()->machine()->Load(MachineType::TaggedPointer()), in BuildImportWasmCall()
2605 mcgraph()->machine()->Load(MachineType::Pointer()), imported_targets, in BuildImportWasmCall()
2625 args[0] = mcgraph()->RelocatableIntPtrConstant(code, RelocInfo::WASM_CALL); in CallDirect()
2642 MachineOperatorBuilder* machine = mcgraph()->machine(); in CallIndirect()
2708 mcgraph()->Int32Constant(32 - m.Value())); in BuildI32Rol()
2711 Binop(wasm::kExprI32Sub, mcgraph()->Int32Constant(32), right)); in BuildI32Rol()
2721 mcgraph()->Int64Constant(64 - m.Value())); in BuildI64Rol()
2724 Binop(wasm::kExprI64Sub, mcgraph()->Int64Constant(64), right)); in BuildI64Rol()
2746 if (mcgraph()->machine()->Is64()) { in BuildChangeInt32ToIntPtr()
2747 value = graph()->NewNode(mcgraph()->machine()->ChangeInt32ToInt64(), value); in BuildChangeInt32ToIntPtr()
2754 return graph()->NewNode(mcgraph()->machine()->WordShl(), value, in BuildChangeInt32ToSmi()
2759 return graph()->NewNode(mcgraph()->machine()->WordShl(), in BuildChangeUint31ToSmi()
2764 return mcgraph()->IntPtrConstant(kSmiShiftSize + kSmiTagSize); in BuildSmiShiftBitsConstant()
2768 value = graph()->NewNode(mcgraph()->machine()->WordSar(), value, in BuildChangeSmiToInt32()
2770 if (mcgraph()->machine()->Is64()) { in BuildChangeSmiToInt32()
2772 graph()->NewNode(mcgraph()->machine()->TruncateInt64ToInt32(), value); in BuildChangeSmiToInt32()
2783 mcgraph()->machine()->Load(MachineType::UintPtr()), instance_node_.get(), in InitInstanceCache()
2784 mcgraph()->Int32Constant(WASM_INSTANCE_OBJECT_OFFSET(MemoryStart)), in InitInstanceCache()
2789 mcgraph()->machine()->Load(MachineType::UintPtr()), instance_node_.get(), in InitInstanceCache()
2790 mcgraph()->Int32Constant(WASM_INSTANCE_OBJECT_OFFSET(MemorySize)), in InitInstanceCache()
2796 mcgraph()->machine()->Load(MachineType::UintPtr()), in InitInstanceCache()
2798 mcgraph()->Int32Constant(WASM_INSTANCE_OBJECT_OFFSET(MemoryMask)), in InitInstanceCache()
2809 instance_cache->field = graph()->NewNode(mcgraph()->common()->Phi(rep, 1), \ in PrepareInstanceCacheForLoop()
2827 to->field = graph()->NewNode(mcgraph()->common()->Phi(rep, 2), 3, vals); \ in NewInstanceCacheMerge()
2864 return graph()->NewNode(mcgraph()->common()->Phi(rep, count), count + 1, in CreateOrMergeIntoPhi()
2895 mcgraph()->machine()->Load(MachineType::UintPtr()), in GetGlobalBaseAndOffset()
2897 mcgraph()->Int32Constant( in GetGlobalBaseAndOffset()
2902 mcgraph()->machine()->Load(MachineType::UintPtr()), in GetGlobalBaseAndOffset()
2904 mcgraph()->Int32Constant(global.index * sizeof(Address)), Effect(), in GetGlobalBaseAndOffset()
2906 *offset_node = mcgraph()->Int32Constant(0); in GetGlobalBaseAndOffset()
2919 mcgraph()->machine()->Load(MachineType::UintPtr()), in GetGlobalBaseAndOffset()
2921 mcgraph()->Int32Constant(WASM_INSTANCE_OBJECT_OFFSET(GlobalsStart)), in GetGlobalBaseAndOffset()
2925 *offset_node = mcgraph()->Int32Constant(global.offset); in GetGlobalBaseAndOffset()
2929 *base_node = graph()->NewNode(mcgraph()->machine()->IntAdd(), *base_node, in GetGlobalBaseAndOffset()
2931 *offset_node = mcgraph()->Int32Constant(0); in GetGlobalBaseAndOffset()
2941 return graph()->NewNode(mcgraph()->machine()->IntAdd(), mem_start, in MemBuffer()
2942 mcgraph()->IntPtrConstant(offset)); in MemBuffer()
2952 graph()->NewNode(mcgraph()->machine()->WordShr(), mem_size, in CurrentMemoryPages()
2953 mcgraph()->Int32Constant(wasm::kWasmPageSizeLog2)); in CurrentMemoryPages()
2954 if (mcgraph()->machine()->Is64()) { in CurrentMemoryPages()
2956 graph()->NewNode(mcgraph()->machine()->TruncateInt64ToInt32(), result); in CurrentMemoryPages()
2969 mcgraph()->zone(), f, fun->nargs, Operator::kNoProperties, in BuildCallToRuntimeWithContext()
2987 mcgraph()->ExternalConstant(ExternalReference::Create(f)); // ref in BuildCallToRuntimeWithContext()
2988 inputs[count++] = mcgraph()->Int32Constant(fun->nargs); // arity in BuildCallToRuntimeWithContext()
2993 return SetEffect(mcgraph()->graph()->NewNode( in BuildCallToRuntimeWithContext()
2994 mcgraph()->common()->Call(call_descriptor), count, inputs)); in BuildCallToRuntimeWithContext()
3011 Node* load = SetEffect(graph()->NewNode(mcgraph()->machine()->Load(mem_type), in GetGlobal()
3027 const Operator* op = mcgraph()->machine()->Store( in SetGlobal()
3045 graph()->NewNode(mcgraph()->machine()->IntAdd(), MemBuffer(offset), in CheckBoundsAndAlignment()
3051 graph()->NewNode(mcgraph()->machine()->WordAnd(), effective_address, in CheckBoundsAndAlignment()
3054 graph()->NewNode(mcgraph()->machine()->Word32Equal(), cond, in CheckBoundsAndAlignment()
3055 mcgraph()->Int32Constant(0)), in CheckBoundsAndAlignment()
3077 return mcgraph()->IntPtrConstant(0); in BoundsCheckMem()
3091 auto m = mcgraph()->machine(); in BoundsCheckMem()
3133 if (alignment == 0 || mcgraph()->machine()->UnalignedLoadSupported( in GetSafeLoadOperator()
3135 return mcgraph()->machine()->Load(mach_type); in GetSafeLoadOperator()
3137 return mcgraph()->machine()->UnalignedLoad(mach_type); in GetSafeLoadOperator()
3144 if (alignment == 0 || mcgraph()->machine()->UnalignedStoreSupported(rep)) { in GetSafeStoreOperator()
3146 return mcgraph()->machine()->Store(store_rep); in GetSafeStoreOperator()
3149 return mcgraph()->machine()->UnalignedStore(store_rep); in GetSafeStoreOperator()
3158 mcgraph()->machine()->StackSlot(sizeof(wasm::MemoryTracingInfo), kAlign)); in TraceMemoryOperation()
3160 Node* address = graph()->NewNode(mcgraph()->machine()->Int32Add(), in TraceMemoryOperation()
3164 mcgraph()->machine()->Store(StoreRepresentation(rep, kNoWriteBarrier)), in TraceMemoryOperation()
3165 info, mcgraph()->Int32Constant(offset), data, Effect(), Control())); in TraceMemoryOperation()
3172 mcgraph()->Int32Constant(is_store ? 1 : 0)); in TraceMemoryOperation()
3175 mcgraph()->Int32Constant(static_cast<int>(rep))); in TraceMemoryOperation()
3194 mcgraph()->machine()->UnalignedLoadSupported(memtype.representation())) { in LoadMem()
3196 load = graph()->NewNode(mcgraph()->machine()->ProtectedLoad(memtype), in LoadMem()
3200 load = graph()->NewNode(mcgraph()->machine()->Load(memtype), in LoadMem()
3206 load = graph()->NewNode(mcgraph()->machine()->UnalignedLoad(memtype), in LoadMem()
3221 load = graph()->NewNode(mcgraph()->machine()->ChangeInt32ToInt64(), load); in LoadMem()
3225 graph()->NewNode(mcgraph()->machine()->ChangeUint32ToUint64(), load); in LoadMem()
3251 mcgraph()->machine()->UnalignedStoreSupported(mem_rep)) { in StoreMem()
3254 graph()->NewNode(mcgraph()->machine()->ProtectedStore(mem_rep), in StoreMem()
3260 graph()->NewNode(mcgraph()->machine()->Store(rep), MemBuffer(offset), in StoreMem()
3268 graph()->NewNode(mcgraph()->machine()->UnalignedStore(rep), in StoreMem()
3282 Node* GetAsmJsOOBValue(MachineRepresentation rep, MachineGraph* mcgraph) { in GetAsmJsOOBValue() argument
3287 return mcgraph->Int32Constant(0); in GetAsmJsOOBValue()
3289 return mcgraph->Int64Constant(0); in GetAsmJsOOBValue()
3291 return mcgraph->Float32Constant(std::numeric_limits<float>::quiet_NaN()); in GetAsmJsOOBValue()
3293 return mcgraph->Float64Constant(std::numeric_limits<double>::quiet_NaN()); in GetAsmJsOOBValue()
3315 graph(), mcgraph()->common(), in BuildAsmjsLoadMem()
3316 graph()->NewNode(mcgraph()->machine()->UintLessThan(), index, mem_size), in BuildAsmjsLoadMem()
3324 index = graph()->NewNode(mcgraph()->machine()->WordAnd(), index, mem_mask); in BuildAsmjsLoadMem()
3327 Node* load = graph()->NewNode(mcgraph()->machine()->Load(type), mem_start, in BuildAsmjsLoadMem()
3332 GetAsmJsOOBValue(type.representation(), mcgraph())); in BuildAsmjsLoadMem()
3336 if (mcgraph()->machine()->Is32()) return node; in Uint32ToUintptr()
3341 return mcgraph()->IntPtrConstant(bit_cast<intptr_t>(value)); in Uint32ToUintptr()
3343 return graph()->NewNode(mcgraph()->machine()->ChangeUint32ToUint64(), node); in Uint32ToUintptr()
3359 graph(), mcgraph()->common(), in BuildAsmjsStoreMem()
3360 graph()->NewNode(mcgraph()->machine()->Uint32LessThan(), index, mem_size), in BuildAsmjsStoreMem()
3369 graph()->NewNode(mcgraph()->machine()->Word32And(), index, mem_mask); in BuildAsmjsStoreMem()
3373 const Operator* store_op = mcgraph()->machine()->Store(StoreRepresentation( in BuildAsmjsStoreMem()
3386 Graph* WasmGraphBuilder::graph() { return mcgraph()->graph(); } in graph()
3405 if (mcgraph()->machine()->Is64()) return; in LowerInt64()
3406 Int64Lowering r(mcgraph()->graph(), mcgraph()->machine(), mcgraph()->common(), in LowerInt64()
3407 mcgraph()->zone(), in LowerInt64()
3408 CreateMachineSignature(mcgraph()->zone(), sig_)); in LowerInt64()
3413 SimdScalarLowering(mcgraph(), CreateMachineSignature(mcgraph()->zone(), sig_)) in SimdScalarLoweringForTesting()
3426 return graph()->NewNode(mcgraph()->machine()->S128Zero()); in S128Zero()
3433 return graph()->NewNode(mcgraph()->machine()->F32x4Splat(), inputs[0]); in SimdOp()
3435 return graph()->NewNode(mcgraph()->machine()->F32x4SConvertI32x4(), in SimdOp()
3438 return graph()->NewNode(mcgraph()->machine()->F32x4UConvertI32x4(), in SimdOp()
3441 return graph()->NewNode(mcgraph()->machine()->F32x4Abs(), inputs[0]); in SimdOp()
3443 return graph()->NewNode(mcgraph()->machine()->F32x4Neg(), inputs[0]); in SimdOp()
3445 return graph()->NewNode(mcgraph()->machine()->F32x4RecipApprox(), in SimdOp()
3448 return graph()->NewNode(mcgraph()->machine()->F32x4RecipSqrtApprox(), in SimdOp()
3451 return graph()->NewNode(mcgraph()->machine()->F32x4Add(), inputs[0], in SimdOp()
3454 return graph()->NewNode(mcgraph()->machine()->F32x4AddHoriz(), inputs[0], in SimdOp()
3457 return graph()->NewNode(mcgraph()->machine()->F32x4Sub(), inputs[0], in SimdOp()
3460 return graph()->NewNode(mcgraph()->machine()->F32x4Mul(), inputs[0], in SimdOp()
3463 return graph()->NewNode(mcgraph()->machine()->F32x4Min(), inputs[0], in SimdOp()
3466 return graph()->NewNode(mcgraph()->machine()->F32x4Max(), inputs[0], in SimdOp()
3469 return graph()->NewNode(mcgraph()->machine()->F32x4Eq(), inputs[0], in SimdOp()
3472 return graph()->NewNode(mcgraph()->machine()->F32x4Ne(), inputs[0], in SimdOp()
3475 return graph()->NewNode(mcgraph()->machine()->F32x4Lt(), inputs[0], in SimdOp()
3478 return graph()->NewNode(mcgraph()->machine()->F32x4Le(), inputs[0], in SimdOp()
3481 return graph()->NewNode(mcgraph()->machine()->F32x4Lt(), inputs[1], in SimdOp()
3484 return graph()->NewNode(mcgraph()->machine()->F32x4Le(), inputs[1], in SimdOp()
3487 return graph()->NewNode(mcgraph()->machine()->I32x4Splat(), inputs[0]); in SimdOp()
3489 return graph()->NewNode(mcgraph()->machine()->I32x4SConvertF32x4(), in SimdOp()
3492 return graph()->NewNode(mcgraph()->machine()->I32x4UConvertF32x4(), in SimdOp()
3495 return graph()->NewNode(mcgraph()->machine()->I32x4SConvertI16x8Low(), in SimdOp()
3498 return graph()->NewNode(mcgraph()->machine()->I32x4SConvertI16x8High(), in SimdOp()
3501 return graph()->NewNode(mcgraph()->machine()->I32x4Neg(), inputs[0]); in SimdOp()
3503 return graph()->NewNode(mcgraph()->machine()->I32x4Add(), inputs[0], in SimdOp()
3506 return graph()->NewNode(mcgraph()->machine()->I32x4AddHoriz(), inputs[0], in SimdOp()
3509 return graph()->NewNode(mcgraph()->machine()->I32x4Sub(), inputs[0], in SimdOp()
3512 return graph()->NewNode(mcgraph()->machine()->I32x4Mul(), inputs[0], in SimdOp()
3515 return graph()->NewNode(mcgraph()->machine()->I32x4MinS(), inputs[0], in SimdOp()
3518 return graph()->NewNode(mcgraph()->machine()->I32x4MaxS(), inputs[0], in SimdOp()
3521 return graph()->NewNode(mcgraph()->machine()->I32x4Eq(), inputs[0], in SimdOp()
3524 return graph()->NewNode(mcgraph()->machine()->I32x4Ne(), inputs[0], in SimdOp()
3527 return graph()->NewNode(mcgraph()->machine()->I32x4GtS(), inputs[1], in SimdOp()
3530 return graph()->NewNode(mcgraph()->machine()->I32x4GeS(), inputs[1], in SimdOp()
3533 return graph()->NewNode(mcgraph()->machine()->I32x4GtS(), inputs[0], in SimdOp()
3536 return graph()->NewNode(mcgraph()->machine()->I32x4GeS(), inputs[0], in SimdOp()
3539 return graph()->NewNode(mcgraph()->machine()->I32x4UConvertI16x8Low(), in SimdOp()
3542 return graph()->NewNode(mcgraph()->machine()->I32x4UConvertI16x8High(), in SimdOp()
3545 return graph()->NewNode(mcgraph()->machine()->I32x4MinU(), inputs[0], in SimdOp()
3548 return graph()->NewNode(mcgraph()->machine()->I32x4MaxU(), inputs[0], in SimdOp()
3551 return graph()->NewNode(mcgraph()->machine()->I32x4GtU(), inputs[1], in SimdOp()
3554 return graph()->NewNode(mcgraph()->machine()->I32x4GeU(), inputs[1], in SimdOp()
3557 return graph()->NewNode(mcgraph()->machine()->I32x4GtU(), inputs[0], in SimdOp()
3560 return graph()->NewNode(mcgraph()->machine()->I32x4GeU(), inputs[0], in SimdOp()
3563 return graph()->NewNode(mcgraph()->machine()->I16x8Splat(), inputs[0]); in SimdOp()
3565 return graph()->NewNode(mcgraph()->machine()->I16x8SConvertI8x16Low(), in SimdOp()
3568 return graph()->NewNode(mcgraph()->machine()->I16x8SConvertI8x16High(), in SimdOp()
3571 return graph()->NewNode(mcgraph()->machine()->I16x8Neg(), inputs[0]); in SimdOp()
3573 return graph()->NewNode(mcgraph()->machine()->I16x8SConvertI32x4(), in SimdOp()
3576 return graph()->NewNode(mcgraph()->machine()->I16x8Add(), inputs[0], in SimdOp()
3579 return graph()->NewNode(mcgraph()->machine()->I16x8AddSaturateS(), in SimdOp()
3582 return graph()->NewNode(mcgraph()->machine()->I16x8AddHoriz(), inputs[0], in SimdOp()
3585 return graph()->NewNode(mcgraph()->machine()->I16x8Sub(), inputs[0], in SimdOp()
3588 return graph()->NewNode(mcgraph()->machine()->I16x8SubSaturateS(), in SimdOp()
3591 return graph()->NewNode(mcgraph()->machine()->I16x8Mul(), inputs[0], in SimdOp()
3594 return graph()->NewNode(mcgraph()->machine()->I16x8MinS(), inputs[0], in SimdOp()
3597 return graph()->NewNode(mcgraph()->machine()->I16x8MaxS(), inputs[0], in SimdOp()
3600 return graph()->NewNode(mcgraph()->machine()->I16x8Eq(), inputs[0], in SimdOp()
3603 return graph()->NewNode(mcgraph()->machine()->I16x8Ne(), inputs[0], in SimdOp()
3606 return graph()->NewNode(mcgraph()->machine()->I16x8GtS(), inputs[1], in SimdOp()
3609 return graph()->NewNode(mcgraph()->machine()->I16x8GeS(), inputs[1], in SimdOp()
3612 return graph()->NewNode(mcgraph()->machine()->I16x8GtS(), inputs[0], in SimdOp()
3615 return graph()->NewNode(mcgraph()->machine()->I16x8GeS(), inputs[0], in SimdOp()
3618 return graph()->NewNode(mcgraph()->machine()->I16x8UConvertI8x16Low(), in SimdOp()
3621 return graph()->NewNode(mcgraph()->machine()->I16x8UConvertI8x16High(), in SimdOp()
3624 return graph()->NewNode(mcgraph()->machine()->I16x8UConvertI32x4(), in SimdOp()
3627 return graph()->NewNode(mcgraph()->machine()->I16x8AddSaturateU(), in SimdOp()
3630 return graph()->NewNode(mcgraph()->machine()->I16x8SubSaturateU(), in SimdOp()
3633 return graph()->NewNode(mcgraph()->machine()->I16x8MinU(), inputs[0], in SimdOp()
3636 return graph()->NewNode(mcgraph()->machine()->I16x8MaxU(), inputs[0], in SimdOp()
3639 return graph()->NewNode(mcgraph()->machine()->I16x8GtU(), inputs[1], in SimdOp()
3642 return graph()->NewNode(mcgraph()->machine()->I16x8GeU(), inputs[1], in SimdOp()
3645 return graph()->NewNode(mcgraph()->machine()->I16x8GtU(), inputs[0], in SimdOp()
3648 return graph()->NewNode(mcgraph()->machine()->I16x8GeU(), inputs[0], in SimdOp()
3651 return graph()->NewNode(mcgraph()->machine()->I8x16Splat(), inputs[0]); in SimdOp()
3653 return graph()->NewNode(mcgraph()->machine()->I8x16Neg(), inputs[0]); in SimdOp()
3655 return graph()->NewNode(mcgraph()->machine()->I8x16SConvertI16x8(), in SimdOp()
3658 return graph()->NewNode(mcgraph()->machine()->I8x16Add(), inputs[0], in SimdOp()
3661 return graph()->NewNode(mcgraph()->machine()->I8x16AddSaturateS(), in SimdOp()
3664 return graph()->NewNode(mcgraph()->machine()->I8x16Sub(), inputs[0], in SimdOp()
3667 return graph()->NewNode(mcgraph()->machine()->I8x16SubSaturateS(), in SimdOp()
3670 return graph()->NewNode(mcgraph()->machine()->I8x16Mul(), inputs[0], in SimdOp()
3673 return graph()->NewNode(mcgraph()->machine()->I8x16MinS(), inputs[0], in SimdOp()
3676 return graph()->NewNode(mcgraph()->machine()->I8x16MaxS(), inputs[0], in SimdOp()
3679 return graph()->NewNode(mcgraph()->machine()->I8x16Eq(), inputs[0], in SimdOp()
3682 return graph()->NewNode(mcgraph()->machine()->I8x16Ne(), inputs[0], in SimdOp()
3685 return graph()->NewNode(mcgraph()->machine()->I8x16GtS(), inputs[1], in SimdOp()
3688 return graph()->NewNode(mcgraph()->machine()->I8x16GeS(), inputs[1], in SimdOp()
3691 return graph()->NewNode(mcgraph()->machine()->I8x16GtS(), inputs[0], in SimdOp()
3694 return graph()->NewNode(mcgraph()->machine()->I8x16GeS(), inputs[0], in SimdOp()
3697 return graph()->NewNode(mcgraph()->machine()->I8x16UConvertI16x8(), in SimdOp()
3700 return graph()->NewNode(mcgraph()->machine()->I8x16AddSaturateU(), in SimdOp()
3703 return graph()->NewNode(mcgraph()->machine()->I8x16SubSaturateU(), in SimdOp()
3706 return graph()->NewNode(mcgraph()->machine()->I8x16MinU(), inputs[0], in SimdOp()
3709 return graph()->NewNode(mcgraph()->machine()->I8x16MaxU(), inputs[0], in SimdOp()
3712 return graph()->NewNode(mcgraph()->machine()->I8x16GtU(), inputs[1], in SimdOp()
3715 return graph()->NewNode(mcgraph()->machine()->I8x16GeU(), inputs[1], in SimdOp()
3718 return graph()->NewNode(mcgraph()->machine()->I8x16GtU(), inputs[0], in SimdOp()
3721 return graph()->NewNode(mcgraph()->machine()->I8x16GeU(), inputs[0], in SimdOp()
3724 return graph()->NewNode(mcgraph()->machine()->S128And(), inputs[0], in SimdOp()
3727 return graph()->NewNode(mcgraph()->machine()->S128Or(), inputs[0], in SimdOp()
3730 return graph()->NewNode(mcgraph()->machine()->S128Xor(), inputs[0], in SimdOp()
3733 return graph()->NewNode(mcgraph()->machine()->S128Not(), inputs[0]); in SimdOp()
3735 return graph()->NewNode(mcgraph()->machine()->S128Select(), inputs[0], in SimdOp()
3738 return graph()->NewNode(mcgraph()->machine()->S1x4AnyTrue(), inputs[0]); in SimdOp()
3740 return graph()->NewNode(mcgraph()->machine()->S1x4AllTrue(), inputs[0]); in SimdOp()
3742 return graph()->NewNode(mcgraph()->machine()->S1x8AnyTrue(), inputs[0]); in SimdOp()
3744 return graph()->NewNode(mcgraph()->machine()->S1x8AllTrue(), inputs[0]); in SimdOp()
3746 return graph()->NewNode(mcgraph()->machine()->S1x16AnyTrue(), inputs[0]); in SimdOp()
3748 return graph()->NewNode(mcgraph()->machine()->S1x16AllTrue(), inputs[0]); in SimdOp()
3759 return graph()->NewNode(mcgraph()->machine()->F32x4ExtractLane(lane), in SimdLaneOp()
3762 return graph()->NewNode(mcgraph()->machine()->F32x4ReplaceLane(lane), in SimdLaneOp()
3765 return graph()->NewNode(mcgraph()->machine()->I32x4ExtractLane(lane), in SimdLaneOp()
3768 return graph()->NewNode(mcgraph()->machine()->I32x4ReplaceLane(lane), in SimdLaneOp()
3771 return graph()->NewNode(mcgraph()->machine()->I16x8ExtractLane(lane), in SimdLaneOp()
3774 return graph()->NewNode(mcgraph()->machine()->I16x8ReplaceLane(lane), in SimdLaneOp()
3777 return graph()->NewNode(mcgraph()->machine()->I8x16ExtractLane(lane), in SimdLaneOp()
3780 return graph()->NewNode(mcgraph()->machine()->I8x16ReplaceLane(lane), in SimdLaneOp()
3792 return graph()->NewNode(mcgraph()->machine()->I32x4Shl(shift), inputs[0]); in SimdShiftOp()
3794 return graph()->NewNode(mcgraph()->machine()->I32x4ShrS(shift), in SimdShiftOp()
3797 return graph()->NewNode(mcgraph()->machine()->I32x4ShrU(shift), in SimdShiftOp()
3800 return graph()->NewNode(mcgraph()->machine()->I16x8Shl(shift), inputs[0]); in SimdShiftOp()
3802 return graph()->NewNode(mcgraph()->machine()->I16x8ShrS(shift), in SimdShiftOp()
3805 return graph()->NewNode(mcgraph()->machine()->I16x8ShrU(shift), in SimdShiftOp()
3808 return graph()->NewNode(mcgraph()->machine()->I8x16Shl(shift), inputs[0]); in SimdShiftOp()
3810 return graph()->NewNode(mcgraph()->machine()->I8x16ShrS(shift), in SimdShiftOp()
3813 return graph()->NewNode(mcgraph()->machine()->I8x16ShrU(shift), in SimdShiftOp()
3823 return graph()->NewNode(mcgraph()->machine()->S8x16Shuffle(shuffle), in Simd8x16ShuffleOp()
3909 mcgraph()->machine()->Prefix##Atomic##Operation(MachineType::Type()), \ in AtomicOp()
3922 mcgraph()->machine()->Prefix##AtomicCompareExchange( \ in AtomicOp()
3936 mcgraph()->machine()->Prefix##AtomicLoad(MachineType::Type()), \ in AtomicOp()
3949 mcgraph()->machine()->Prefix##AtomicStore(MachineRepresentation::Rep), \ in AtomicOp()
4030 MachineOperatorBuilder* machine = mcgraph()->machine(); in BuildAllocateHeapNumberWithValue()
4031 CommonOperatorBuilder* common = mcgraph()->common(); in BuildAllocateHeapNumberWithValue()
4033 ? mcgraph()->RelocatableIntPtrConstant( in BuildAllocateHeapNumberWithValue()
4040 mcgraph()->zone(), AllocateHeapNumberDescriptor(), 0, in BuildAllocateHeapNumberWithValue()
4055 return graph()->NewNode(mcgraph()->machine()->ChangeInt32ToFloat64(), in BuildChangeSmiToFloat64()
4060 return graph()->NewNode(mcgraph()->machine()->WordAnd(), value, in BuildTestHeapObject()
4061 mcgraph()->IntPtrConstant(kHeapObjectTag)); in BuildTestHeapObject()
4066 mcgraph()->machine()->Load(MachineType::Float64()), value, in BuildLoadHeapNumberValue()
4071 return mcgraph()->IntPtrConstant(HeapNumber::kValueOffset - kHeapObjectTag); in BuildHeapNumberValueIndexConstant()
4075 MachineOperatorBuilder* machine = mcgraph()->machine(); in BuildChangeInt32ToTagged()
4076 CommonOperatorBuilder* common = mcgraph()->common(); in BuildChangeInt32ToTagged()
4109 MachineOperatorBuilder* machine = mcgraph()->machine(); in BuildChangeFloat64ToTagged()
4110 CommonOperatorBuilder* common = mcgraph()->common(); in BuildChangeFloat64ToTagged()
4136 mcgraph()->Int32Constant(0)); in BuildChangeFloat64ToTagged()
4147 mcgraph()->Int32Constant(0)); in BuildChangeFloat64ToTagged()
4208 mcgraph()->zone(), TypeConversionDescriptor{}, 0, in BuildJavaScriptToNumber()
4212 ? mcgraph()->RelocatableIntPtrConstant( in BuildJavaScriptToNumber()
4217 graph()->NewNode(mcgraph()->common()->Call(call_descriptor), stub_code, in BuildJavaScriptToNumber()
4226 MachineOperatorBuilder* machine = mcgraph()->machine(); in BuildChangeTaggedToFloat64()
4227 CommonOperatorBuilder* common = mcgraph()->common(); in BuildChangeTaggedToFloat64()
4259 mcgraph()->Float64Constant(std::numeric_limits<double>::quiet_NaN()); in BuildChangeTaggedToFloat64()
4282 node = graph()->NewNode(mcgraph()->machine()->ChangeFloat32ToFloat64(), in ToJS()
4310 num = graph()->NewNode(mcgraph()->machine()->TruncateFloat64ToWord32(), in FromJS()
4318 num = graph()->NewNode(mcgraph()->machine()->TruncateFloat64ToFloat32(), in FromJS()
4332 graph()->NewNode(mcgraph()->common()->ExternalConstant( in BuildModifyThreadInWasmFlag()
4336 mcgraph()->machine()->Load(LoadRepresentation(MachineType::Pointer())), in BuildModifyThreadInWasmFlag()
4337 thread_in_wasm_flag_address_address, mcgraph()->Int32Constant(0), in BuildModifyThreadInWasmFlag()
4340 mcgraph()->machine()->Store(StoreRepresentation( in BuildModifyThreadInWasmFlag()
4342 thread_in_wasm_flag_address, mcgraph()->Int32Constant(0), in BuildModifyThreadInWasmFlag()
4343 mcgraph()->Int32Constant(new_value ? 1 : 0), Effect(), Control())); in BuildModifyThreadInWasmFlag()
4399 mcgraph()->common()->Parameter( in BuildJSToWasmWrapper()
4450 mcgraph()->machine()->IntAdd(), jump_table_start, jump_table_offset); in BuildJSToWasmWrapper()
4504 mcgraph()->machine()->Load(MachineType::TaggedPointer()), in BuildWasmToJSWrapper()
4506 mcgraph()->Int32Constant(field_access.offset - field_access.tag()), in BuildWasmToJSWrapper()
4531 args[pos++] = mcgraph()->Int32Constant(wasm_count); // argument count in BuildWasmToJSWrapper()
4536 call = graph()->NewNode(mcgraph()->common()->Call(call_descriptor), in BuildWasmToJSWrapper()
4540 args[pos++] = mcgraph()->RelocatableIntPtrConstant( in BuildWasmToJSWrapper()
4544 args[pos++] = mcgraph()->Int32Constant(wasm_count); // argument count in BuildWasmToJSWrapper()
4545 args[pos++] = mcgraph()->Int32Constant( in BuildWasmToJSWrapper()
4558 mcgraph()->zone(), ArgumentAdaptorDescriptor{}, 1 + wasm_count, in BuildWasmToJSWrapper()
4567 call = graph()->NewNode(mcgraph()->common()->Call(call_descriptor), in BuildWasmToJSWrapper()
4576 args[pos++] = mcgraph()->RelocatableIntPtrConstant( in BuildWasmToJSWrapper()
4579 args[pos++] = mcgraph()->Int32Constant(wasm_count); // argument count in BuildWasmToJSWrapper()
4599 call = graph()->NewNode(mcgraph()->common()->Call(call_descriptor), pos, in BuildWasmToJSWrapper()
4608 ? mcgraph()->Int32Constant(0) in BuildWasmToJSWrapper()
4644 ? mcgraph()->IntPtrConstant(0) in BuildWasmInterpreterEntry()
4645 : graph()->NewNode(mcgraph()->machine()->StackSlot( in BuildWasmInterpreterEntry()
4679 graph()->NewNode(mcgraph()->machine()->Load(load_rep), arg_buffer, in BuildWasmInterpreterEntry()
4693 MachineOperatorBuilder* machine = mcgraph()->machine(); in BuildCWasmEntry()
4723 auto call_descriptor = GetWasmCallDescriptor(mcgraph()->zone(), sig_); in BuildCWasmEntry()
4726 mcgraph()->common()->Call(call_descriptor), arg_count, args)); in BuildCWasmEntry()
4734 SetEffect(graph()->NewNode(mcgraph()->machine()->Store(store_rep), in BuildCWasmEntry()
4740 if (mcgraph()->machine()->Is32() && ContainsInt64(sig_)) { in BuildCWasmEntry()
4748 Int64Lowering r(mcgraph()->graph(), mcgraph()->machine(), in BuildCWasmEntry()
4749 mcgraph()->common(), mcgraph()->zone(), &c_entry_sig); in BuildCWasmEntry()
5056 wasm::WasmFeatures* detected, double* decode_ms, MachineGraph* mcgraph, in BuildGraphForWasmFunction() argument
5065 new (mcgraph->zone()) SourcePositionTable(mcgraph->graph()); in BuildGraphForWasmFunction()
5066 WasmGraphBuilder builder(wasm_unit_->env_, mcgraph->zone(), mcgraph, in BuildGraphForWasmFunction()
5085 mcgraph, in BuildGraphForWasmFunction()
5086 CreateMachineSignature(mcgraph->zone(), wasm_unit_->func_body_.sig)) in BuildGraphForWasmFunction()
5134 MachineGraph* mcgraph = new (&graph_zone) in ExecuteCompilation() local
5154 NodeOriginTable(mcgraph->graph()) in ExecuteCompilation()
5157 BuildGraphForWasmFunction(detected, &decode_ms, mcgraph, node_origins); in ExecuteCompilation()
5170 node_count = mcgraph->graph()->NodeCount(); in ExecuteCompilation()
5177 if (mcgraph->machine()->Is32()) { in ExecuteCompilation()
5184 &info, wasm_unit_->wasm_engine_, mcgraph, call_descriptor, in ExecuteCompilation()
5192 static_cast<int>(mcgraph->graph()->zone()->allocation_size())); in ExecuteCompilation()