diff options
Diffstat (limited to 'deps/v8/src/compiler/node-properties.h')
-rw-r--r-- | deps/v8/src/compiler/node-properties.h | 12 |
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. |