#include "src/compiler/node-properties.h"
#include <optional>
#include "src/compiler/common-operator.h"
#include "src/compiler/graph.h"
#include "src/compiler/js-heap-broker.h"
#include "src/compiler/map-inference.h"
#include "src/compiler/node-matchers.h"
#include "src/compiler/operator-properties.h"
#include "src/compiler/simplified-operator.h"
#include "src/compiler/verifier.h"
namespace v8 {
namespace internal {
namespace compiler {
bool NodeProperties::IsValueEdge(Edge edge) { … }
bool NodeProperties::IsContextEdge(Edge edge) { … }
bool NodeProperties::IsFrameStateEdge(Edge edge) { … }
bool NodeProperties::IsEffectEdge(Edge edge) { … }
bool NodeProperties::IsControlEdge(Edge edge) { … }
bool NodeProperties::IsExceptionalCall(Node* node, Node** out_exception) { … }
Node* NodeProperties::FindSuccessfulControlProjection(Node* node) { … }
void NodeProperties::ReplaceValueInput(Node* node, Node* value, int index) { … }
void NodeProperties::ReplaceValueInputs(Node* node, Node* value) { … }
void NodeProperties::ReplaceContextInput(Node* node, Node* context) { … }
void NodeProperties::ReplaceControlInput(Node* node, Node* control, int index) { … }
void NodeProperties::ReplaceEffectInput(Node* node, Node* effect, int index) { … }
void NodeProperties::ReplaceFrameStateInput(Node* node, Node* frame_state) { … }
void NodeProperties::RemoveNonValueInputs(Node* node) { … }
void NodeProperties::RemoveValueInputs(Node* node) { … }
void NodeProperties::MergeControlToEnd(Graph* graph,
CommonOperatorBuilder* common,
Node* node) { … }
void NodeProperties::RemoveControlFromEnd(Graph* graph,
CommonOperatorBuilder* common,
Node* node) { … }
void NodeProperties::ReplaceUses(Node* node, Node* value, Node* effect,
Node* success, Node* exception) { … }
void NodeProperties::ChangeOp(Node* node, const Operator* new_op) { … }
void NodeProperties::ChangeOpUnchecked(Node* node, const Operator* new_op) { … }
Node* NodeProperties::FindFrameStateBefore(Node* node,
Node* unreachable_sentinel) { … }
Node* NodeProperties::FindProjection(Node* node, size_t projection_index) { … }
void NodeProperties::CollectValueProjections(Node* node, Node** projections,
size_t projection_count) { … }
void NodeProperties::CollectControlProjections(Node* node, Node** projections,
size_t projection_count) { … }
MachineRepresentation NodeProperties::GetProjectionType(
Node const* projection) { … }
bool NodeProperties::IsSame(Node* a, Node* b) { … }
OptionalMapRef NodeProperties::GetJSCreateMap(JSHeapBroker* broker,
Node* receiver) { … }
NodeProperties::InferMapsResult NodeProperties::InferMapsUnsafe(
JSHeapBroker* broker, Node* receiver, Effect effect,
ZoneRefSet<Map>* maps_out) { … }
bool NodeProperties::NoObservableSideEffectBetween(Node* effect,
Node* dominator) { … }
bool NodeProperties::CanBePrimitive(JSHeapBroker* broker, Node* receiver,
Effect effect) { … }
bool NodeProperties::CanBeNullOrUndefined(JSHeapBroker* broker, Node* receiver,
Effect effect) { … }
Node* NodeProperties::GetOuterContext(Node* node, size_t* depth) { … }
Type NodeProperties::GetTypeOrAny(const Node* node) { … }
bool NodeProperties::AllValueInputsAreTyped(Node* node) { … }
bool NodeProperties::IsInputRange(Edge edge, int first, int num) { … }
size_t NodeProperties::HashCode(Node* node) { … }
bool NodeProperties::Equals(Node* a, Node* b) { … }
}
}
}