Commit 0d516432 authored by Georg Neis's avatar Georg Neis Committed by Commit Bot

[turbofan] Brokerize SFI arguments in JSCallReducer.

Bug: v8:7790
Change-Id: Ifbcfaa3ae0cc8bef119da52e66a2b9371d6ecf03
Reviewed-on: https://chromium-review.googlesource.com/c/1314548
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57212}
parent b24e4a1b
...@@ -168,7 +168,7 @@ Node* CreateStubBuiltinContinuationFrameState( ...@@ -168,7 +168,7 @@ Node* CreateStubBuiltinContinuationFrameState(
} }
Node* CreateJavaScriptBuiltinContinuationFrameState( Node* CreateJavaScriptBuiltinContinuationFrameState(
JSGraph* jsgraph, Handle<SharedFunctionInfo> shared, Builtins::Name name, JSGraph* jsgraph, const SharedFunctionInfoRef& shared, Builtins::Name name,
Node* target, Node* context, Node* const* stack_parameters, Node* target, Node* context, Node* const* stack_parameters,
int stack_parameter_count, Node* outer_frame_state, int stack_parameter_count, Node* outer_frame_state,
ContinuationFrameStateMode mode) { ContinuationFrameStateMode mode) {
...@@ -202,7 +202,8 @@ Node* CreateJavaScriptBuiltinContinuationFrameState( ...@@ -202,7 +202,8 @@ Node* CreateJavaScriptBuiltinContinuationFrameState(
? FrameStateType::kJavaScriptBuiltinContinuationWithCatch ? FrameStateType::kJavaScriptBuiltinContinuationWithCatch
: FrameStateType::kJavaScriptBuiltinContinuation, : FrameStateType::kJavaScriptBuiltinContinuation,
name, target, context, &actual_parameters[0], name, target, context, &actual_parameters[0],
static_cast<int>(actual_parameters.size()), outer_frame_state, shared); static_cast<int>(actual_parameters.size()), outer_frame_state,
shared.object());
} }
} // namespace compiler } // namespace compiler
......
...@@ -17,6 +17,7 @@ namespace compiler { ...@@ -17,6 +17,7 @@ namespace compiler {
class JSGraph; class JSGraph;
class Node; class Node;
class SharedFunctionInfoRef;
// Flag that describes how to combine the current environment with // Flag that describes how to combine the current environment with
// the output of a node to obtain a framestate for lazy bailout. // the output of a node to obtain a framestate for lazy bailout.
...@@ -155,7 +156,7 @@ Node* CreateStubBuiltinContinuationFrameState( ...@@ -155,7 +156,7 @@ Node* CreateStubBuiltinContinuationFrameState(
ContinuationFrameStateMode mode); ContinuationFrameStateMode mode);
Node* CreateJavaScriptBuiltinContinuationFrameState( Node* CreateJavaScriptBuiltinContinuationFrameState(
JSGraph* graph, Handle<SharedFunctionInfo> shared, Builtins::Name name, JSGraph* graph, const SharedFunctionInfoRef& shared, Builtins::Name name,
Node* target, Node* context, Node* const* stack_parameters, Node* target, Node* context, Node* const* stack_parameters,
int stack_parameter_count, Node* outer_frame_state, int stack_parameter_count, Node* outer_frame_state,
ContinuationFrameStateMode mode); ContinuationFrameStateMode mode);
......
This diff is collapsed.
...@@ -58,7 +58,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer { ...@@ -58,7 +58,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
Reduction ReduceArrayConstructor(Node* node); Reduction ReduceArrayConstructor(Node* node);
Reduction ReduceBooleanConstructor(Node* node); Reduction ReduceBooleanConstructor(Node* node);
Reduction ReduceCallApiFunction(Node* node, Reduction ReduceCallApiFunction(Node* node,
Handle<SharedFunctionInfo> shared); const SharedFunctionInfoRef& shared);
Reduction ReduceFunctionPrototypeApply(Node* node); Reduction ReduceFunctionPrototypeApply(Node* node);
Reduction ReduceFunctionPrototypeBind(Node* node); Reduction ReduceFunctionPrototypeBind(Node* node);
Reduction ReduceFunctionPrototypeCall(Node* node); Reduction ReduceFunctionPrototypeCall(Node* node);
...@@ -76,20 +76,20 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer { ...@@ -76,20 +76,20 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
Reduction ReduceReflectGet(Node* node); Reduction ReduceReflectGet(Node* node);
Reduction ReduceReflectGetPrototypeOf(Node* node); Reduction ReduceReflectGetPrototypeOf(Node* node);
Reduction ReduceReflectHas(Node* node); Reduction ReduceReflectHas(Node* node);
Reduction ReduceArrayForEach(Node* node, Handle<SharedFunctionInfo> shared); Reduction ReduceArrayForEach(Node* node, const SharedFunctionInfoRef& shared);
enum class ArrayReduceDirection { kLeft, kRight }; enum class ArrayReduceDirection { kLeft, kRight };
Reduction ReduceArrayReduce(Node* node, ArrayReduceDirection direction, Reduction ReduceArrayReduce(Node* node, ArrayReduceDirection direction,
Handle<SharedFunctionInfo> shared); const SharedFunctionInfoRef& shared);
Reduction ReduceArrayMap(Node* node, Handle<SharedFunctionInfo> shared); Reduction ReduceArrayMap(Node* node, const SharedFunctionInfoRef& shared);
Reduction ReduceArrayFilter(Node* node, Handle<SharedFunctionInfo> shared); Reduction ReduceArrayFilter(Node* node, const SharedFunctionInfoRef& shared);
enum class ArrayFindVariant { kFind, kFindIndex }; enum class ArrayFindVariant { kFind, kFindIndex };
Reduction ReduceArrayFind(Node* node, ArrayFindVariant variant, Reduction ReduceArrayFind(Node* node, ArrayFindVariant variant,
Handle<SharedFunctionInfo> shared); const SharedFunctionInfoRef& shared);
Reduction ReduceArrayEvery(Node* node, Handle<SharedFunctionInfo> shared); Reduction ReduceArrayEvery(Node* node, const SharedFunctionInfoRef& shared);
enum class SearchVariant { kIncludes, kIndexOf }; enum class SearchVariant { kIncludes, kIndexOf };
Reduction ReduceArrayIndexOfIncludes(SearchVariant search_variant, Reduction ReduceArrayIndexOfIncludes(SearchVariant search_variant,
Node* node); Node* node);
Reduction ReduceArraySome(Node* node, Handle<SharedFunctionInfo> shared); Reduction ReduceArraySome(Node* node, const SharedFunctionInfoRef& shared);
Reduction ReduceArrayPrototypePush(Node* node); Reduction ReduceArrayPrototypePush(Node* node);
Reduction ReduceArrayPrototypePop(Node* node); Reduction ReduceArrayPrototypePop(Node* node);
Reduction ReduceArrayPrototypeShift(Node* node); Reduction ReduceArrayPrototypeShift(Node* node);
...@@ -108,7 +108,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer { ...@@ -108,7 +108,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
Reduction ReduceJSConstructWithArrayLike(Node* node); Reduction ReduceJSConstructWithArrayLike(Node* node);
Reduction ReduceJSConstructWithSpread(Node* node); Reduction ReduceJSConstructWithSpread(Node* node);
Reduction ReduceJSCall(Node* node); Reduction ReduceJSCall(Node* node);
Reduction ReduceJSCall(Node* node, Handle<SharedFunctionInfo> shared); Reduction ReduceJSCall(Node* node, const SharedFunctionInfoRef& shared);
Reduction ReduceJSCallWithArrayLike(Node* node); Reduction ReduceJSCallWithArrayLike(Node* node);
Reduction ReduceJSCallWithSpread(Node* node); Reduction ReduceJSCallWithSpread(Node* node);
Reduction ReduceRegExpPrototypeTest(Node* node); Reduction ReduceRegExpPrototypeTest(Node* node);
...@@ -130,8 +130,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer { ...@@ -130,8 +130,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
Reduction ReduceStringFromCodePoint(Node* node); Reduction ReduceStringFromCodePoint(Node* node);
Reduction ReduceStringPrototypeIterator(Node* node); Reduction ReduceStringPrototypeIterator(Node* node);
Reduction ReduceStringIteratorPrototypeNext(Node* node); Reduction ReduceStringIteratorPrototypeNext(Node* node);
Reduction ReduceStringPrototypeConcat(Node* node, Reduction ReduceStringPrototypeConcat(Node* node);
Handle<SharedFunctionInfo> shared);
Reduction ReducePromiseConstructor(Node* node); Reduction ReducePromiseConstructor(Node* node);
Reduction ReducePromiseInternalConstructor(Node* node); Reduction ReducePromiseInternalConstructor(Node* node);
...@@ -143,7 +142,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer { ...@@ -143,7 +142,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
Reduction ReducePromiseResolveTrampoline(Node* node); Reduction ReducePromiseResolveTrampoline(Node* node);
Reduction ReduceTypedArrayConstructor(Node* node, Reduction ReduceTypedArrayConstructor(Node* node,
Handle<SharedFunctionInfo> shared); const SharedFunctionInfoRef& shared);
Reduction ReduceTypedArrayPrototypeToStringTag(Node* node); Reduction ReduceTypedArrayPrototypeToStringTag(Node* node);
Reduction ReduceSoftDeoptimize(Node* node, DeoptimizeReason reason); Reduction ReduceSoftDeoptimize(Node* node, DeoptimizeReason reason);
...@@ -226,7 +225,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer { ...@@ -226,7 +225,7 @@ class V8_EXPORT_PRIVATE JSCallReducer final : public AdvancedReducer {
Node* CreateArtificialFrameState(Node* node, Node* outer_frame_state, Node* CreateArtificialFrameState(Node* node, Node* outer_frame_state,
int parameter_count, BailoutId bailout_id, int parameter_count, BailoutId bailout_id,
FrameStateType frame_state_type, FrameStateType frame_state_type,
Handle<SharedFunctionInfo> shared, const SharedFunctionInfoRef& shared,
Node* context = nullptr); Node* context = nullptr);
Graph* graph() const; Graph* graph() const;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment