Commit 9c3dc33e authored by Mythri's avatar Mythri Committed by Commit Bot

Remove SetForceInlineFlag from tests.

SetForceInlineFlag is now only used in tests. Earlier, it was also used
in js builtins, because unless this flag was specified the js builtins
were not inlined. All the performance critical js builtins are moved
to turbofan builtins and SetForceInlineFlag is no longer used. We would
like to remove this flag completely to simplify inlining heuristics.
Also, this uses a bit on the SharedFuntionInfo.

Bug: v8:6682
Change-Id: I19afd27381afc212f29179f2c5477095c8174f39
Reviewed-on: https://chromium-review.googlesource.com/660739
Commit-Queue: Mythri Alle <mythria@chromium.org>
Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47997}
parent 43d6dc56
......@@ -417,6 +417,16 @@ DEFINE_INT(max_inlined_bytecode_size_small, 30,
"maximum size of bytecode considered for small function inlining")
DEFINE_FLOAT(min_inlining_frequency, 0.15, "minimum frequency for inlining")
DEFINE_BOOL(polymorphic_inlining, true, "polymorphic inlining")
DEFINE_BOOL(stress_inline, false,
"set high thresholds for inlining to inline as much as possible")
DEFINE_VALUE_IMPLICATION(stress_inline, max_inlining_levels, 999999)
DEFINE_VALUE_IMPLICATION(stress_inline, max_inlined_bytecode_size, 999999)
DEFINE_VALUE_IMPLICATION(stress_inline, max_inlined_bytecode_size_absolute,
999999)
DEFINE_VALUE_IMPLICATION(stress_inline, max_inlined_bytecode_size_cumulative,
999999)
DEFINE_VALUE_IMPLICATION(stress_inline, min_inlining_frequency, 0)
DEFINE_VALUE_IMPLICATION(stress_inline, polymorphic_inlining, true)
DEFINE_BOOL(trace_turbo_inlining, false, "trace TurboFan inlining")
DEFINE_BOOL(inline_accessors, true, "inline JavaScript accessors")
DEFINE_BOOL(inline_into_try, true, "inline into try blocks")
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax --harmony-restrict-constructor-return
// Flags: --harmony-restrict-constructor-return --allow-natives-syntax --stress-inline
if (this.FLAG_harmony_restrict_constructor_return === undefined)
this.FLAG_harmony_restrict_constructor_return = true;
......@@ -54,9 +54,6 @@ function Constr(use, x){
}
}
%SetForceInlineFlag(Base);
%SetForceInlineFlag(Derived);
%SetForceInlineFlag(Constr);
var a = {};
var b = {};
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax
// Flags: --allow-natives-syntax --stress-inline
function add(x) {
return x + x;
......@@ -10,7 +10,6 @@ function add(x) {
add(0);
add(1);
%SetForceInlineFlag(add);
var min = Math.min;
function foo(x) {
......@@ -19,5 +18,6 @@ function foo(x) {
return min(y, x);
}
foo();
%OptimizeFunctionOnNextCall(foo);
foo();
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax
// Flags: --allow-natives-syntax --stress-inline
"use strict";
......@@ -19,8 +19,6 @@ function h(x) {
return z + 1;
}
%SetForceInlineFlag(g);
%SetForceInlineFlag(f);
h(1);
h(1);
......
......@@ -2,12 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax
// Flags: --allow-natives-syntax --stress-inline
"use strict";
%SetForceInlineFlag(Math.cos);
var f5 = (function f6(stdlib) {
"use asm";
var cos = stdlib.Math.cos;
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax
// Flags: --allow-natives-syntax --stress-inline
"use strict";
......@@ -22,8 +22,6 @@ function h(x) {
g(x, 1);
}
%SetForceInlineFlag(g);
%SetForceInlineFlag(f);
%NeverOptimizeFunction(deopt_function);
h(1);
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax
// Flags: --allow-natives-syntax --stress-inline
"use strict";
......@@ -21,7 +21,6 @@ function h() {
function g(v) {
return h();
}
%SetForceInlineFlag(g);
function f1() {
......
......@@ -2,11 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax --stack-size=100
// Flags: --allow-natives-syntax --stack-size=100 --stress-inline
var source = "return 1" + new Array(2048).join(' + a') + "";
eval("function g(a) {" + source + "}");
%SetForceInlineFlag(g);
function f(a) { return g(a) }
%OptimizeFunctionOnNextCall(f);
......
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