summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/node-properties.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/node-properties.h')
-rw-r--r--deps/v8/src/compiler/node-properties.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/deps/v8/src/compiler/node-properties.h b/deps/v8/src/compiler/node-properties.h
index 6bc1fe7078..5ccc15c1ab 100644
--- a/deps/v8/src/compiler/node-properties.h
+++ b/deps/v8/src/compiler/node-properties.h
@@ -122,6 +122,9 @@ class V8_EXPORT_PRIVATE NodeProperties final {
// Collect the output-value projection for the given output index.
static Node* FindProjection(Node* node, size_t projection_index);
+ // Collect the value projections from a node.
+ static void CollectValueProjections(Node* node, Node** proj, size_t count);
+
// Collect the branch-related projections from a node, such as IfTrue,
// IfFalse, IfSuccess, IfException, IfValue and IfDefault.
// - Branch: [ IfTrue, IfFalse ]
@@ -155,6 +158,15 @@ class V8_EXPORT_PRIVATE NodeProperties final {
// in the effect chain.
static bool NoObservableSideEffectBetween(Node* effect, Node* dominator);
+ // Returns true if the {receiver} can be a primitive value (i.e. is not
+ // definitely a JavaScript object); might walk up the {effect} chain to
+ // find map checks on {receiver}.
+ static bool CanBePrimitive(Node* receiver, Node* effect);
+
+ // Returns true if the {receiver} can be null or undefined. Might walk
+ // up the {effect} chain to find map checks for {receiver}.
+ static bool CanBeNullOrUndefined(Node* receiver, Node* effect);
+
// ---------------------------------------------------------------------------
// Context.