summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/js-call-reducer.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/js-call-reducer.h')
-rw-r--r--deps/v8/src/compiler/js-call-reducer.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/deps/v8/src/compiler/js-call-reducer.h b/deps/v8/src/compiler/js-call-reducer.h
index 02821ebb0d..bf3676c5b2 100644
--- a/deps/v8/src/compiler/js-call-reducer.h
+++ b/deps/v8/src/compiler/js-call-reducer.h
@@ -29,6 +29,7 @@ struct FieldAccess;
class JSGraph;
class JSHeapBroker;
class JSOperatorBuilder;
+class MapInference;
class NodeProperties;
class SimplifiedOperatorBuilder;
@@ -155,6 +156,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
Reduction ReduceMathImul(Node* node);
Reduction ReduceMathClz32(Node* node);
Reduction ReduceMathMinMax(Node* node, const Operator* op, Node* empty_value);
+ Reduction ReduceMathHypot(Node* node);
Reduction ReduceNumberIsFinite(Node* node);
Reduction ReduceNumberIsInteger(Node* node);
@@ -190,6 +192,15 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
Reduction ReduceNumberParseInt(Node* node);
Reduction ReduceNumberConstructor(Node* node);
+ Reduction ReduceBigIntAsUintN(Node* node);
+
+ // Helper to verify promise receiver maps are as expected.
+ // On bailout from a reduction, be sure to return inference.NoChange().
+ bool DoPromiseChecks(MapInference* inference);
+
+ Node* CreateClosureFromBuiltinSharedFunctionInfo(SharedFunctionInfoRef shared,
+ Node* context, Node* effect,
+ Node* control);
// Returns the updated {to} node, and updates control and effect along the
// way.
@@ -231,12 +242,16 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
const SharedFunctionInfoRef& shared,
Node* context = nullptr);
+ void CheckIfElementsKind(Node* receiver_elements_kind, ElementsKind kind,
+ Node* control, Node** if_true, Node** if_false);
+ Node* LoadReceiverElementsKind(Node* receiver, Node** effect, Node** control);
+
Graph* graph() const;
JSGraph* jsgraph() const { return jsgraph_; }
JSHeapBroker* broker() const { return broker_; }
Isolate* isolate() const;
Factory* factory() const;
- NativeContextRef native_context() const { return broker()->native_context(); }
+ NativeContextRef native_context() const;
CommonOperatorBuilder* common() const;
JSOperatorBuilder* javascript() const;
SimplifiedOperatorBuilder* simplified() const;