Lines Matching defs:node
13 #include "src/compiler/node-properties.h"
14 #include "src/compiler/node.h"
1121 explicit constexpr JSNodeWrapperBase(Node* node) : NodeWrapper(node) {}
1123 // Valid iff this node has a context input.
1127 NodeProperties::GetContextInput(node()));
1130 // Valid iff this node has exactly one effect input.
1132 DCHECK_EQ(node()->op()->EffectInputCount(), 1);
1133 return Effect{NodeProperties::GetEffectInput(node())};
1136 // Valid iff this node has exactly one control input.
1138 DCHECK_EQ(node()->op()->ControlInputCount(), 1);
1139 return Control{NodeProperties::GetControlInput(node())};
1142 // Valid iff this node has a frame state input.
1144 return FrameState{NodeProperties::GetFrameStateInput(node())};
1152 NodeProperties::GetValueInput(node(), TheIndex)); \
1157 explicit constexpr JSUnaryOpNode(Node* node) : JSNodeWrapperBase(node) {
1158 DCHECK(JSOperator::IsUnaryWithFeedback(node->opcode()));
1174 explicit constexpr JSBinaryOpNode(Node* node) : JSNodeWrapperBase(node) {
1175 DCHECK(JSOperator::IsBinaryWithFeedback(node->opcode()));
1179 return FeedbackParameterOf(node()->op());
1196 explicit constexpr JSGetIteratorNode(Node* node) : JSNodeWrapperBase(node) {
1197 DCHECK_EQ(IrOpcode::kJSGetIterator, node->opcode());
1201 return GetIteratorParametersOf(node()->op());
1213 explicit constexpr JSCloneObjectNode(Node* node) : JSNodeWrapperBase(node) {
1214 DCHECK_EQ(IrOpcode::kJSCloneObject, node->opcode());
1218 return CloneObjectParametersOf(node()->op());
1230 explicit constexpr JSGetTemplateObjectNode(Node* node)
1231 : JSNodeWrapperBase(node) {
1232 DCHECK_EQ(IrOpcode::kJSGetTemplateObject, node->opcode());
1236 return GetTemplateObjectParametersOf(node()->op());
1246 explicit constexpr JSCreateLiteralOpNode(Node* node)
1247 : JSNodeWrapperBase(node) {
1248 DCHECK(node->opcode() == IrOpcode::kJSCreateLiteralArray ||
1249 node->opcode() == IrOpcode::kJSCreateLiteralObject ||
1250 node->opcode() == IrOpcode::kJSCreateLiteralRegExp);
1254 return CreateLiteralParametersOf(node()->op());
1268 explicit constexpr JSHasPropertyNode(Node* node) : JSNodeWrapperBase(node) {
1269 DCHECK_EQ(IrOpcode::kJSHasProperty, node->opcode());
1273 return PropertyAccessOf(node()->op());
1286 explicit constexpr JSLoadPropertyNode(Node* node) : JSNodeWrapperBase(node) {
1287 DCHECK_EQ(IrOpcode::kJSLoadProperty, node->opcode());
1291 return PropertyAccessOf(node()->op());
1304 explicit constexpr JSSetKeyedPropertyNode(Node* node)
1305 : JSNodeWrapperBase(node) {
1306 DCHECK_EQ(IrOpcode::kJSSetKeyedProperty, node->opcode());
1310 return PropertyAccessOf(node()->op());
1324 explicit constexpr JSDefineKeyedOwnPropertyNode(Node* node)
1325 : JSNodeWrapperBase(node) {
1326 DCHECK_EQ(IrOpcode::kJSDefineKeyedOwnProperty, node->opcode());
1330 return PropertyAccessOf(node()->op());
1349 explicit constexpr JSCallOrConstructNode(Node* node)
1350 : JSNodeWrapperBase(node) {
1351 DCHECK(IsValidNode(node));
1364 // underlying node layout.
1375 // Just for static asserts for spots that rely on node layout.
1395 NodeProperties::GetValueInput(node(), ArgumentIndex(i)));
1423 NodeProperties::GetValueInput(node(), FeedbackVectorIndex()));
1427 static constexpr bool IsValidNode(Node* node) {
1428 return node->opcode() == IrOpcode::kJSCall ||
1429 node->opcode() == IrOpcode::kJSCallWithArrayLike ||
1430 node->opcode() == IrOpcode::kJSCallWithSpread ||
1431 node->opcode() == IrOpcode::kJSConstruct ||
1432 node->opcode() == IrOpcode::kJSConstructWithArrayLike ||
1433 node->opcode() == IrOpcode::kJSConstructWithSpread
1435 || node->opcode() == IrOpcode::kJSWasmCall
1454 explicit constexpr JSCallNodeBase(Node* node) : JSCallOrConstructNode(node) {
1455 DCHECK(IsExpectedOpcode<kOpcodes...>(node->opcode()));
1459 return CallParametersOf(node()->op());
1488 explicit constexpr JSWasmCallNode(Node* node) : JSCallOrConstructNode(node) {
1489 DCHECK_EQ(IrOpcode::kJSWasmCall, node->opcode());
1493 return OpParameter<JSWasmCallParameters>(node()->op());
1519 explicit constexpr JSConstructNodeBase(Node* node)
1520 : JSCallOrConstructNode(node) {
1521 DCHECK_EQ(kOpcode, node->opcode());
1525 return ConstructParametersOf(node()->op());
1553 explicit constexpr JSLoadNamedNode(Node* node) : JSNodeWrapperBase(node) {
1554 DCHECK_EQ(IrOpcode::kJSLoadNamed, node->opcode());
1557 const NamedAccess& Parameters() const { return NamedAccessOf(node()->op()); }
1568 explicit constexpr JSLoadNamedFromSuperNode(Node* node)
1569 : JSNodeWrapperBase(node) {
1570 DCHECK_EQ(IrOpcode::kJSLoadNamedFromSuper, node->opcode());
1573 const NamedAccess& Parameters() const { return NamedAccessOf(node()->op()); }
1585 explicit constexpr JSSetNamedPropertyNode(Node* node)
1586 : JSNodeWrapperBase(node) {
1587 DCHECK_EQ(IrOpcode::kJSSetNamedProperty, node->opcode());
1590 const NamedAccess& Parameters() const { return NamedAccessOf(node()->op()); }
1602 explicit constexpr JSDefineNamedOwnPropertyNode(Node* node)
1603 : JSNodeWrapperBase(node) {
1604 DCHECK_EQ(IrOpcode::kJSDefineNamedOwnProperty, node->opcode());
1608 return DefineNamedOwnPropertyParametersOf(node()->op());
1621 explicit constexpr JSStoreGlobalNode(Node* node) : JSNodeWrapperBase(node) {
1622 DCHECK_EQ(IrOpcode::kJSStoreGlobal, node->opcode());
1626 return StoreGlobalParametersOf(node()->op());
1638 explicit constexpr JSLoadGlobalNode(Node* node) : JSNodeWrapperBase(node) {
1639 DCHECK_EQ(IrOpcode::kJSLoadGlobal, node->opcode());
1643 return LoadGlobalParametersOf(node()->op());
1653 explicit constexpr JSCreateEmptyLiteralArrayNode(Node* node)
1654 : JSNodeWrapperBase(node) {
1655 DCHECK_EQ(IrOpcode::kJSCreateEmptyLiteralArray, node->opcode());
1659 return FeedbackParameterOf(node()->op());
1669 explicit constexpr JSDefineKeyedOwnPropertyInLiteralNode(Node* node)
1670 : JSNodeWrapperBase(node) {
1671 DCHECK_EQ(IrOpcode::kJSDefineKeyedOwnPropertyInLiteral, node->opcode());
1675 return FeedbackParameterOf(node()->op());
1690 explicit constexpr JSStoreInArrayLiteralNode(Node* node)
1691 : JSNodeWrapperBase(node) {
1692 DCHECK_EQ(IrOpcode::kJSStoreInArrayLiteral, node->opcode());
1696 return FeedbackParameterOf(node()->op());
1710 explicit constexpr JSCreateClosureNode(Node* node) : JSNodeWrapperBase(node) {
1711 DCHECK_EQ(IrOpcode::kJSCreateClosure, node->opcode());
1715 return CreateClosureParametersOf(node()->op());
1727 explicit constexpr JSForInPrepareNode(Node* node) : JSNodeWrapperBase(node) {
1728 DCHECK_EQ(IrOpcode::kJSForInPrepare, node->opcode());
1732 return ForInParametersOf(node()->op());
1744 explicit constexpr JSForInNextNode(Node* node) : JSNodeWrapperBase(node) {
1745 DCHECK_EQ(IrOpcode::kJSForInNext, node->opcode());
1749 return ForInParametersOf(node()->op());