Commit 83f19e7d authored by mstarzinger's avatar mstarzinger Committed by Commit bot

[turbofan] Disable inline allocation of closures.

This puts lowering of {JSCreateClosure} operations behind a flag. For
now the benefit of inline allocating such closures is negligible, it
does increase code size, and breaks in combination with inlining based
on {SharedFunctionInfo}.

R=jarin@chromium.org
BUG=v8:2206

Review-Url: https://codereview.chromium.org/2636493002
Cr-Commit-Position: refs/heads/master@{#42331}
parent aca17974
...@@ -751,6 +751,7 @@ Reduction JSCreateLowering::ReduceJSCreateArray(Node* node) { ...@@ -751,6 +751,7 @@ Reduction JSCreateLowering::ReduceJSCreateArray(Node* node) {
} }
Reduction JSCreateLowering::ReduceJSCreateClosure(Node* node) { Reduction JSCreateLowering::ReduceJSCreateClosure(Node* node) {
if (!FLAG_turbo_lower_create_closure) return NoChange();
DCHECK_EQ(IrOpcode::kJSCreateClosure, node->opcode()); DCHECK_EQ(IrOpcode::kJSCreateClosure, node->opcode());
CreateClosureParameters const& p = CreateClosureParametersOf(node->op()); CreateClosureParameters const& p = CreateClosureParametersOf(node->op());
Handle<SharedFunctionInfo> shared = p.shared_info(); Handle<SharedFunctionInfo> shared = p.shared_info();
......
...@@ -486,6 +486,8 @@ DEFINE_BOOL(turbo_stress_instruction_scheduling, false, ...@@ -486,6 +486,8 @@ DEFINE_BOOL(turbo_stress_instruction_scheduling, false,
"randomly schedule instructions to stress dependency tracking") "randomly schedule instructions to stress dependency tracking")
DEFINE_BOOL(turbo_store_elimination, true, DEFINE_BOOL(turbo_store_elimination, true,
"enable store-store elimination in TurboFan") "enable store-store elimination in TurboFan")
DEFINE_BOOL(turbo_lower_create_closure, false,
"enable inline allocation for closure instantiation")
// Flags to help platform porters // Flags to help platform porters
DEFINE_BOOL(minimal, false, DEFINE_BOOL(minimal, false,
......
...@@ -140,6 +140,7 @@ TEST_F(JSCreateLoweringTest, JSCreateArgumentsInlinedRestArray) { ...@@ -140,6 +140,7 @@ TEST_F(JSCreateLoweringTest, JSCreateArgumentsInlinedRestArray) {
// JSCreateClosure // JSCreateClosure
TEST_F(JSCreateLoweringTest, JSCreateClosureViaInlinedAllocation) { TEST_F(JSCreateLoweringTest, JSCreateClosureViaInlinedAllocation) {
if (!FLAG_turbo_lower_create_closure) return;
Node* const context = UndefinedConstant(); Node* const context = UndefinedConstant();
Node* const effect = graph()->start(); Node* const effect = graph()->start();
Node* const control = graph()->start(); Node* const control = graph()->start();
......
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