Lines Matching defs:builder_
114 : builder_(builder),
138 builder_->Start(static_cast<int>(decoder->sig_->parameter_count() + 1 + 1));
148 ssa_env->locals[index] = builder_->Param(index + 1);
159 node = builder_->RefNull();
171 builder_->TraceFunctionEntry(decoder->position());
177 if (ssa_env) builder_->InitInstanceCache(&ssa_env->instance_cache);
184 builder_->PatchInStackCheckIfNeeded();
206 TFNode* loop_node = builder_->Loop(control());
227 builder_->SetControl(loop_node);
231 builder_->SetEffect(builder_->EffectPhi(1, effect_inputs));
232 builder_->TerminateLoop(effect(), control());
251 ssa_env_->locals[i] = builder_->Phi(decoder->local_type(i), 1, inputs);
255 builder_->PrepareInstanceCacheForLoop(&ssa_env_->instance_cache,
261 builder_->StackCheck(decoder->module_->has_shared_memory
271 val.node = builder_->Phi(val.type, 1, inputs);
297 builder_->BranchNoHint(cond.node, &if_true, &if_false);
300 builder_->BranchExpectFalse(cond.node, &if_true, &if_false);
303 builder_->BranchExpectTrue(cond.node, &if_true, &if_false);
334 val->node = builder_->LoopExitValue(
357 result->node = builder_->Unop(opcode, value.node, decoder->position());
363 builder_->Binop(opcode, lhs.node, rhs.node, decoder->position());
368 result->node = builder_->Int32Constant(value);
372 result->node = builder_->Int64Constant(value);
376 result->node = builder_->Float32Constant(value);
380 result->node = builder_->Float64Constant(value);
385 result->node = builder_->Simd128Constant(imm.value);
389 result->node = builder_->RefNull();
393 result->node = builder_->RefFunc(function_index);
397 result->node = builder_->RefAsNonNull(arg.node, decoder->position());
433 result->node = builder_->GlobalGet(imm.index);
438 builder_->GlobalSet(imm.index, value.node);
444 builder_->TableGet(imm.index, index.node, decoder->position());
449 builder_->TableSet(imm.index, index.node, value.node, decoder->position());
453 builder_->Trap(reason, decoder->position());
457 builder_->TrapIfFalse(
459 builder_->Binop(kExprRefEq, obj.node, builder_->RefNull(),
470 builder_->Select(cond.node, tval.node, fval.node, result->type);
502 builder_->TraceFunctionExit(base::VectorOf(values), decoder->position());
504 builder_->Return(base::VectorOf(values));
539 builder_->BranchNoHint(cond.node, &tenv->control, &fenv->control);
542 builder_->BranchExpectFalse(cond.node, &tenv->control, &fenv->control);
545 builder_->BranchExpectTrue(cond.node, &tenv->control, &fenv->control);
548 builder_->SetControl(fenv->control);
565 TFNode* sw = builder_->Switch(imm.table_count + 1, key.node);
574 builder_->SetControl(i == imm.table_count ? builder_->IfDefault(sw)
575 : builder_->IfValue(i, sw));
594 builder_->LoadMem(type.value_type(), type.mem_type(), index.node,
602 result->node = builder_->LoadTransform(type.value_type(), type.mem_type(),
610 result->node = builder_->LoadLane(
618 builder_->StoreMem(type.mem_rep(), index.node, imm.offset, imm.alignment,
625 builder_->StoreLane(type.mem_rep(), index.node, imm.offset, imm.alignment,
631 result->node = builder_->CurrentMemoryPages();
635 result->node = builder_->MemoryGrow(value.node);
707 builder_->CompareToInternalFunctionAtIndex(
712 builder_->SetControl(success_control);
721 builder_->SetEffectControl(initial_effect, failure_control);
732 TFNode* control = builder_->Merge(2, control_args);
735 TFNode* effect = builder_->EffectPhi(2, effect_args);
739 builder_->SetEffectControl(effect, control);
744 returns[i].node = builder_->Phi(sig->GetReturn(i), 2, phi_args);
778 builder_->CompareToInternalFunctionAtIndex(
783 builder_->SetControl(success_control);
788 builder_->SetEffectControl(initial_effect, failure_control);
801 builder_->BrOnNull(ref_object.node, &true_env->control,
803 builder_->SetControl(false_env->control);
815 builder_->BrOnNull(ref_object.node, &false_env->control,
817 builder_->SetControl(false_env->control);
827 TFNode* node = builder_->SimdOp(opcode, inputs.begin());
836 result->node = builder_->SimdLaneOp(opcode, imm.lane, nodes.begin());
844 result->node = builder_->Simd8x16ShuffleOp(imm.value, input_nodes);
855 builder_->Throw(imm.index, imm.tag, base::VectorOf(args),
857 builder_->TerminateThrow(effect(), control());
864 CheckForException(decoder, builder_->Rethrow(exception));
865 builder_->TerminateThrow(effect(), control());
887 TFNode* caught_tag = builder_->GetExceptionTag(exception);
888 TFNode* exception_tag = builder_->LoadTagFromTable(imm.index);
889 TFNode* compare = builder_->ExceptionTagEqual(caught_tag, exception_tag);
890 builder_->BranchNoHint(compare, &if_catch, &if_no_catch);
905 builder_->GetExceptionValues(exception, imm.tag, caught_vector);
921 builder_->Rethrow(block->try_info->exception);
922 builder_->TerminateThrow(effect(), control());
939 target_try->exception = builder_->CreateOrMergeIntoPhi(
966 TFNode* node = builder_->AtomicOp(opcode, inputs.begin(), imm.alignment,
971 void AtomicFence(FullDecoder* decoder) { builder_->AtomicFence(); }
976 builder_->MemoryInit(imm.data_segment.index, dst.node, src.node, size.node,
981 builder_->DataDrop(imm.index, decoder->position());
987 builder_->MemoryCopy(dst.node, src.node, size.node, decoder->position());
993 builder_->MemoryFill(dst.node, value.node, size.node, decoder->position());
998 builder_->TableInit(imm.table.index, imm.element_segment.index,
1004 builder_->ElemDrop(imm.index, decoder->position());
1009 builder_->TableCopy(imm.table_dst.index, imm.table_src.index, args[0].node,
1015 result->node = builder_->TableGrow(imm.index, value.node, delta.node);
1020 result->node = builder_->TableSize(imm.index);
1025 builder_->TableFill(imm.index, start.node, value.node, count.node);
1036 result->node = builder_->StructNewWithRtt(
1047 result->node = builder_->StructNewWithRtt(
1054 result->node = builder_->StructGet(
1062 builder_->StructSet(struct_object.node, field.struct_imm.struct_type,
1071 result->node = builder_->ArrayNewWithRtt(imm.index, imm.array_type,
1086 builder_->ArrayNewWithRtt(imm.index, imm.array_type, length.node,
1093 result->node = builder_->ArrayGet(array_obj.node, imm.array_type,
1101 builder_->ArraySet(array_obj.node, imm.array_type, index.node, value.node,
1106 result->node = builder_->ArrayLen(
1113 builder_->ArrayCopy(dst.node, dst_index.node, NullCheckFor(dst.type),
1126 builder_->ArrayInit(imm.array_type, rtt.node, VectorOf(element_nodes));
1134 result->node = builder_->ArrayInitFromData(
1140 result->node = builder_->I31New(input.node);
1144 result->node = builder_->I31GetS(input.node);
1148 result->node = builder_->I31GetU(input.node);
1152 result->node = builder_->RttCanon(type_index);
1175 result->node = builder_->RefTest(object.node, rtt.node, config);
1183 builder_->RefCast(object.node, rtt.node, config, decoder->position());
1199 (builder_->*branch_function)(object.node, rtt.node, config,
1202 builder_->SetControl(no_branch_env->control);
1224 result->node = builder_->RefIsData(object.node, object.type.is_nullable());
1228 result->node = builder_->RefAsData(object.node, object.type.is_nullable(),
1247 result->node = builder_->RefIsFunc(object.node, object.type.is_nullable());
1251 result->node = builder_->RefAsFunc(object.node, object.type.is_nullable(),
1270 result->node = builder_->RefIsArray(object.node, object.type.is_nullable());
1274 result->node = builder_->RefAsArray(object.node, object.type.is_nullable(),
1293 result->node = builder_->RefIsI31(object.node);
1297 result->node = builder_->RefAsI31(object.node, decoder->position());
1322 compiler::WasmGraphBuilder* builder_;
1333 TFNode* effect() { return builder_->effect(); }
1335 TFNode* control() { return builder_->control(); }
1396 builder_->SetEffectControl(env->effect, env->control);
1397 builder_->set_instance_cache(&env->instance_cache);
1414 if (!builder_->ThrowsException(node, &if_success, &if_exception)) {
1442 try_info->exception = builder_->CreateOrMergeIntoPhi(
1464 return builder_->Int32Constant(0);
1466 return builder_->Int64Constant(0);
1468 return builder_->Float32Constant(0);
1470 return builder_->Float64Constant(0);
1472 return builder_->S128Zero();
1474 return builder_->RefNull();
1502 : builder_->CreateOrMergeIntoPhi(
1543 TFNode* merge = builder_->Merge(2, controls);
1549 to->effect = builder_->EffectPhi(2, inputs);
1562 to->locals[i] = builder_->Phi(
1567 builder_->NewInstanceCacheMerge(&to->instance_cache,
1574 builder_->AppendToMerge(merge, control());
1577 builder_->CreateOrMergeIntoEffectPhi(merge, to->effect, effect());
1585 to->locals[i] = builder_->CreateOrMergeIntoPhi(
1591 builder_->MergeInstanceCacheInto(&to->instance_cache,
1696 FunctionSig::Builder real_sig_builder(builder_->graph_zone(), return_count,
1718 decoder, builder_->CallIndirect(
1725 decoder, builder_->CallDirect(call_info.callee_index(), real_sig,
1733 builder_->CallRef(real_sig, base::VectorOf(arg_nodes),
1753 FunctionSig::Builder real_sig_builder(builder_->graph_zone(),
1785 builder_->ReturnCallIndirect(
1790 builder_->ReturnCall(call_info.callee_index(), real_sig,
1794 builder_->ReturnCallRef(real_sig, base::VectorOf(arg_nodes),
1801 builder_->LoopExit(loop->loop_node);
1809 ssa_env_->locals[index] = builder_->LoopExitValue(
1817 ssa_env_->instance_cache.field = builder_->LoopExitValue( \
1844 value.node = builder_->LoopExitValue(
1849 *exception_value = builder_->LoopExitValue(