Lines Matching refs:Node
13 #include "src/compiler/node-matchers.h"
86 void Decorate(Node* node) final {
87 if (node->id() == node_id_) {
163 Node* CodeAssembler::Int32Constant(int32_t value) {
167 Node* CodeAssembler::Int64Constant(int64_t value) {
171 Node* CodeAssembler::IntPtrConstant(intptr_t value) {
175 Node* CodeAssembler::NumberConstant(double value) {
179 Node* CodeAssembler::SmiConstant(Smi* value) {
183 Node* CodeAssembler::SmiConstant(int value) {
187 Node* CodeAssembler::HeapConstant(Handle<HeapObject> object) {
191 Node* CodeAssembler::CStringConstant(const char* str) {
195 Node* CodeAssembler::BooleanConstant(bool value) {
199 Node* CodeAssembler::ExternalConstant(ExternalReference address) {
203 Node* CodeAssembler::Float64Constant(double value) {
207 Node* CodeAssembler::NaNConstant() {
211 bool CodeAssembler::ToInt32Constant(Node* node, int32_t& out_value) {
212 Int64Matcher m(node);
223 bool CodeAssembler::ToInt64Constant(Node* node, int64_t& out_value) {
224 Int64Matcher m(node);
229 bool CodeAssembler::ToSmiConstant(Node* node, Smi*& out_value) {
230 if (node->opcode() == IrOpcode::kBitcastWordToTaggedSigned) {
231 node = node->InputAt(0);
235 IntPtrMatcher m(node);
243 bool CodeAssembler::ToIntPtrConstant(Node* node, intptr_t& out_value) {
244 if (node->opcode() == IrOpcode::kBitcastWordToTaggedSigned ||
245 node->opcode() == IrOpcode::kBitcastWordToTagged) {
246 node = node->InputAt(0);
248 IntPtrMatcher m(node);
253 Node* CodeAssembler::Parameter(int value) {
257 Node* CodeAssembler::GetJSContextParameter() {
264 void CodeAssembler::Return(Node* value) {
268 void CodeAssembler::Return(Node* value1, Node* value2) {
272 void CodeAssembler::Return(Node* value1, Node* value2, Node* value3) {
276 void CodeAssembler::PopAndReturn(Node* pop, Node* value) {
309 Node* CodeAssembler::LoadFramePointer() {
313 Node* CodeAssembler::LoadParentFramePointer() {
317 Node* CodeAssembler::LoadStackPointer() {
322 Node* CodeAssembler::name(Node* a, Node* b) { \
328 Node* CodeAssembler::IntPtrAdd(Node* left, Node* right) {
348 Node* CodeAssembler::IntPtrSub(Node* left, Node* right) {
365 Node* CodeAssembler::WordShl(Node* value, int shift) {
370 Node* CodeAssembler::WordShr(Node* value, int shift) {
375 Node* CodeAssembler::Word32Shr(Node* value, int shift) {
380 Node* CodeAssembler::ChangeUint32ToWord(Node* value) {
387 Node* CodeAssembler::ChangeInt32ToIntPtr(Node* value) {
394 Node* CodeAssembler::RoundIntPtrToFloat64(Node* value) {
402 Node* CodeAssembler::name(Node* a) { return raw_assembler()->name(a); }
406 Node* CodeAssembler::Load(MachineType rep, Node* base) {
410 Node* CodeAssembler::Load(MachineType rep, Node* base, Node* offset) {
414 Node* CodeAssembler::AtomicLoad(MachineType rep, Node* base, Node* offset) {
418 Node* CodeAssembler::LoadRoot(Heap::RootListIndex root_index) {
428 Node* roots_array_start =
434 Node* CodeAssembler::Store(Node* base, Node* value) {
439 Node* CodeAssembler::Store(Node* base, Node* offset, Node* value) {
444 Node* CodeAssembler::StoreWithMapWriteBarrier(Node* base, Node* offset,
445 Node* value) {
450 Node* CodeAssembler::StoreNoWriteBarrier(MachineRepresentation rep, Node* base,
451 Node* value) {
455 Node* CodeAssembler::StoreNoWriteBarrier(MachineRepresentation rep, Node* base,
456 Node* offset, Node* value) {
460 Node* CodeAssembler::AtomicStore(MachineRepresentation rep, Node* base,
461 Node* offset, Node* value) {
465 Node* CodeAssembler::StoreRoot(Heap::RootListIndex root_index, Node* value) {
467 Node* roots_array_start =
473 Node* CodeAssembler::Retain(Node* value) {
477 Node* CodeAssembler::Projection(int index, Node* value) {
481 void CodeAssembler::GotoIfException(Node* node, Label* if_exception,
486 DCHECK(!node->op()->HasProperty(Operator::kNoThrow));
488 raw_assembler()->Continuations(node, success.label_, exception.label_);
492 Node* exception_value = raw_assembler()->AddNode(op, node, node);
502 Node* CodeAssembler::CallRuntime(Runtime::FunctionId function, Node* context,
510 Node* centry =
512 Node* ref = ExternalConstant(ExternalReference(function, isolate()));
513 Node* arity = Int32Constant(argc);
515 Node* nodes[] = {centry, args..., ref, arity, context};
518 Node* return_value = raw_assembler()->CallN(desc, arraysize(nodes), nodes);
525 template V8_EXPORT_PRIVATE Node* CodeAssembler::CallRuntime( \
527 REPEAT_1_TO_7(INSTANTIATE, Node*)
531 Node* CodeAssembler::TailCallRuntime(Runtime::FunctionId function,
532 Node* context, TArgs... args) {
539 Node* centry =
541 Node* ref = ExternalConstant(ExternalReference(function, isolate()));
542 Node* arity = Int32Constant(argc);
544 Node* nodes[] = {centry, args..., ref, arity, context};
551 template V8_EXPORT_PRIVATE Node* CodeAssembler::TailCallRuntime( \
553 REPEAT_1_TO_7(INSTANTIATE, Node*)
557 Node* CodeAssembler::CallStubR(const CallInterfaceDescriptor& descriptor,
558 size_t result_size, Node* target, Node* context,
560 Node* nodes[] = {target, args..., context};
566 template V8_EXPORT_PRIVATE Node* CodeAssembler::CallStubR( \
567 const CallInterfaceDescriptor& descriptor, size_t, Node*, __VA_ARGS__);
568 REPEAT_1_TO_7(INSTANTIATE, Node*)
571 Node* CodeAssembler::CallStubN(const CallInterfaceDescriptor& descriptor,
573 Node* const* inputs) {
587 Node* return_value = raw_assembler()->CallN(desc, input_count, inputs);
593 Node* CodeAssembler::TailCallStub(const CallInterfaceDescriptor& descriptor,
594 Node* target, Node* context, TArgs... args) {
602 Node* nodes[] = {target, args..., context};
609 template V8_EXPORT_PRIVATE Node* CodeAssembler::TailCallStub( \
610 const CallInterfaceDescriptor& descriptor, Node*, __VA_ARGS__);
611 REPEAT_1_TO_7(INSTANTIATE, Node*)
615 Node* CodeAssembler::TailCallBytecodeDispatch(
616 const CallInterfaceDescriptor& descriptor, Node* target, TArgs... args) {
621 Node* nodes[] = {target, args...};
626 template V8_EXPORT_PRIVATE Node* CodeAssembler::TailCallBytecodeDispatch(
627 const CallInterfaceDescriptor& descriptor, Node* target, Node*, Node*,
628 Node*, Node*);
630 Node* CodeAssembler::CallCFunctionN(Signature<MachineType>* signature,
631 int input_count, Node* const* inputs) {
636 Node* CodeAssembler::CallCFunction2(MachineType return_type,
638 MachineType arg1_type, Node* function,
639 Node* arg0, Node* arg1) {
644 Node* CodeAssembler::CallCFunction3(MachineType return_type,
647 MachineType arg2_type, Node* function,
648 Node* arg0, Node* arg1, Node* arg2) {
658 void CodeAssembler::GotoIf(Node* condition, Label* true_label) {
664 void CodeAssembler::GotoIfNot(Node* condition, Label* false_label) {
670 void CodeAssembler::Branch(Node* condition, Label* true_label,
678 void CodeAssembler::Switch(Node* index, Label* default_label,
711 Node* value_;
723 Node* initial_value)
732 void CodeAssemblerVariable::Bind(Node* value) { impl_->value_ = value; }
734 Node* CodeAssemblerVariable::value() const {
766 Node* node = var->value_;
767 if (node != nullptr) {
770 i->second.push_back(node);
774 variable_merges_[var] = std::vector<Node*>(1, node);
789 state_->raw_assembler_->AppendPhiInput(phi->second, node);
800 [node](Node* e) -> bool { return node != e; }) ==
815 Node* shared_value = nullptr;
841 Node* phi = state_->raw_assembler_->Phi(