Skip to content

Commit ec6da23

Browse files
Michael StarzingerCommit Bot
authored andcommitted
[flags] Remove some dead Crankshaft flags.
R=bmeurer@chromium.org BUG=v8:6408 Change-Id: I34abbcdc2fc47df44938bac0e59f9982c935c657 Reviewed-on: https://chromium-review.googlesource.com/569963 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#46631}
1 parent 199a26f commit ec6da23

46 files changed

Lines changed: 43 additions & 128 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/flag-definitions.h

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -337,11 +337,6 @@ DEFINE_STRING(trace_ignition_dispatches_output_file, nullptr,
337337

338338
// Flags for Crankshaft.
339339
DEFINE_STRING(hydrogen_filter, "*", "optimization filter")
340-
DEFINE_BOOL(use_gvn, true, "use hydrogen global value numbering")
341-
DEFINE_INT(gvn_iterations, 3, "maximum number of GVN fix-point iterations")
342-
DEFINE_BOOL(use_canonicalizing, true, "use hydrogen instruction canonicalizing")
343-
DEFINE_BOOL(use_inlining, true, "use function inlining")
344-
DEFINE_BOOL(use_escape_analysis, true, "use hydrogen escape analysis")
345340
DEFINE_BOOL(use_allocation_folding, true, "use allocation folding")
346341
DEFINE_BOOL(use_local_allocation_folding, false, "only fold in basic blocks")
347342
DEFINE_BOOL(use_write_barrier_elimination, true,
@@ -359,71 +354,42 @@ DEFINE_INT(max_inlined_nodes_cumulative, 400,
359354
DEFINE_INT(max_inlined_nodes_small, 10,
360355
"maximum number of AST nodes considered for small function inlining")
361356
DEFINE_FLOAT(min_inlining_frequency, 0.15, "minimum frequency for inlining")
362-
DEFINE_BOOL(loop_invariant_code_motion, true, "loop invariant code motion")
363357
DEFINE_BOOL(fast_math, true, "faster (but maybe less accurate) math functions")
364-
DEFINE_BOOL(hydrogen_stats, false, "print statistics for hydrogen")
365-
DEFINE_BOOL(trace_check_elimination, false, "trace check elimination phase")
366358
DEFINE_BOOL(trace_environment_liveness, false,
367359
"trace liveness of local variable slots")
368360
DEFINE_BOOL(trace_hydrogen, false, "trace generated hydrogen to file")
369361
DEFINE_STRING(trace_hydrogen_filter, "*", "hydrogen tracing filter")
370362
DEFINE_BOOL(trace_hydrogen_stubs, false, "trace generated hydrogen for stubs")
371363
DEFINE_STRING(trace_hydrogen_file, NULL, "trace hydrogen to given file name")
372364
DEFINE_STRING(trace_phase, "HLZ", "trace generated IR for specified phases")
373-
DEFINE_BOOL(trace_inlining, false, "trace inlining decisions")
374-
DEFINE_BOOL(trace_load_elimination, false, "trace load elimination")
375365
DEFINE_BOOL(trace_store_elimination, false, "trace store elimination")
376366
DEFINE_BOOL(turbo_verify_store_elimination, false,
377367
"verify store elimination more rigorously")
378368
DEFINE_BOOL(trace_alloc, false, "trace register allocator")
379369
DEFINE_BOOL(trace_all_uses, false, "trace all use positions")
380-
DEFINE_BOOL(trace_range, false, "trace range analysis")
381-
DEFINE_BOOL(trace_gvn, false, "trace global value numbering")
382370
DEFINE_BOOL(trace_representation, false, "trace representation types")
383-
DEFINE_BOOL(trace_removable_simulates, false, "trace removable simulates")
384-
DEFINE_BOOL(trace_escape_analysis, false, "trace hydrogen escape analysis")
385-
DEFINE_BOOL(trace_allocation_folding, false, "trace allocation folding")
386371
DEFINE_BOOL(trace_track_allocation_sites, false,
387372
"trace the tracking of allocation sites")
388373
DEFINE_BOOL(trace_migration, false, "trace object migration")
389374
DEFINE_BOOL(trace_generalization, false, "trace map generalization")
390375
DEFINE_BOOL(stress_pointer_maps, false, "pointer map for every instruction")
391-
DEFINE_BOOL(stress_environments, false, "environment for every instruction")
392376
DEFINE_INT(deopt_every_n_times, 0,
393377
"deoptimize every n times a deopt point is passed")
394378
DEFINE_BOOL(print_deopt_stress, false, "print number of possible deopt points")
395379
DEFINE_BOOL(trap_on_deopt, false, "put a break point before deoptimizing")
396380
DEFINE_BOOL(trap_on_stub_deopt, false,
397381
"put a break point before deoptimizing a stub")
398-
DEFINE_BOOL(deoptimize_uncommon_cases, true, "deoptimize uncommon cases")
399382
DEFINE_BOOL(polymorphic_inlining, true, "polymorphic inlining")
400383
DEFINE_BOOL(use_osr, true, "use on-stack replacement")
401-
DEFINE_BOOL(array_bounds_checks_elimination, true,
402-
"perform array bounds checks elimination")
403-
DEFINE_BOOL(trace_bce, false, "trace array bounds check elimination")
404-
DEFINE_BOOL(array_index_dehoisting, true, "perform array index dehoisting")
405384
DEFINE_BOOL(analyze_environment_liveness, true,
406385
"analyze liveness of environment slots and zap dead values")
407386
DEFINE_BOOL(load_elimination, true, "use load elimination")
408387
DEFINE_BOOL(check_elimination, true, "use check elimination")
409388
DEFINE_BOOL(store_elimination, false, "use store elimination")
410-
DEFINE_BOOL(dead_code_elimination, true, "use dead code elimination")
411-
DEFINE_BOOL(fold_constants, true, "use constant folding")
412-
DEFINE_BOOL(trace_dead_code_elimination, false, "trace dead code elimination")
413-
DEFINE_BOOL(unreachable_code_elimination, true, "eliminate unreachable code")
414389
DEFINE_BOOL(trace_osr, false, "trace on-stack replacement")
415390
DEFINE_INT(stress_runs, 0, "number of stress runs")
416-
DEFINE_BOOL(lookup_sample_by_shared, true,
417-
"when picking a function to optimize, watch for shared function "
418-
"info, not JSFunction itself")
419-
DEFINE_BOOL(flush_optimized_code_cache, false,
420-
"flushes the cache of optimized code for closures on every GC")
421-
DEFINE_BOOL(inline_construct, true, "inline constructor calls")
422-
DEFINE_BOOL(inline_arguments, true, "inline functions with arguments object")
423391
DEFINE_BOOL(inline_accessors, true, "inline JavaScript accessors")
424392
DEFINE_BOOL(inline_into_try, true, "inline into try blocks")
425-
DEFINE_INT(escape_analysis_iterations, 1,
426-
"maximum number of escape analysis fix-point iterations")
427393

428394
DEFINE_BOOL(concurrent_recompilation, true,
429395
"optimizing hot functions asynchronously on a separate thread")
@@ -1027,10 +993,6 @@ DEFINE_STRING(startup_src, NULL,
1027993
DEFINE_STRING(startup_blob, NULL,
1028994
"Write V8 startup blob file. (mksnapshot only)")
1029995

1030-
// code-stubs-hydrogen.cc
1031-
DEFINE_BOOL(profile_hydrogen_code_stub_compilation, false,
1032-
"Print the time it takes to lazily compile hydrogen code stubs.")
1033-
1034996
//
1035997
// Dev shell flags
1036998
//

test/cctest/test-api.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14451,7 +14451,6 @@ TEST(SetFunctionEntryHook) {
1445114451
// only gets called from experimental natives) is compiled with entry hooks.
1445214452
i::FLAG_allow_natives_syntax = true;
1445314453
i::FLAG_turbo_inlining = false;
14454-
i::FLAG_use_inlining = false;
1445514454

1445614455
SetFunctionEntryHookTest test;
1445714456
test.RunTest();

test/cctest/test-deoptimization.cc

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,59 +51,50 @@ using ::v8::internal::Object;
5151

5252
// Utility class to set the following runtime flags when constructed and return
5353
// to their default state when destroyed:
54-
// --allow-natives-syntax --always-opt --noturbo-inlining --nouse-inlining
54+
// --allow-natives-syntax --always-opt --noturbo-inlining
5555
class AlwaysOptimizeAllowNativesSyntaxNoInlining {
5656
public:
5757
AlwaysOptimizeAllowNativesSyntaxNoInlining()
5858
: always_opt_(i::FLAG_always_opt),
5959
allow_natives_syntax_(i::FLAG_allow_natives_syntax),
60-
turbo_inlining_(i::FLAG_turbo_inlining),
61-
use_inlining_(i::FLAG_use_inlining) {
60+
turbo_inlining_(i::FLAG_turbo_inlining) {
6261
i::FLAG_always_opt = true;
6362
i::FLAG_allow_natives_syntax = true;
6463
i::FLAG_turbo_inlining = false;
65-
i::FLAG_use_inlining = false;
6664
}
6765

6866
~AlwaysOptimizeAllowNativesSyntaxNoInlining() {
6967
i::FLAG_always_opt = always_opt_;
7068
i::FLAG_allow_natives_syntax = allow_natives_syntax_;
7169
i::FLAG_turbo_inlining = turbo_inlining_;
72-
i::FLAG_use_inlining = use_inlining_;
7370
}
7471

7572
private:
7673
bool always_opt_;
7774
bool allow_natives_syntax_;
7875
bool turbo_inlining_;
79-
bool use_inlining_;
8076
};
8177

82-
8378
// Utility class to set the following runtime flags when constructed and return
8479
// to their default state when destroyed:
85-
// --allow-natives-syntax --noturbo-inlining --nouse-inlining
80+
// --allow-natives-syntax --noturbo-inlining
8681
class AllowNativesSyntaxNoInlining {
8782
public:
8883
AllowNativesSyntaxNoInlining()
8984
: allow_natives_syntax_(i::FLAG_allow_natives_syntax),
90-
turbo_inlining_(i::FLAG_turbo_inlining),
91-
use_inlining_(i::FLAG_use_inlining) {
85+
turbo_inlining_(i::FLAG_turbo_inlining) {
9286
i::FLAG_allow_natives_syntax = true;
9387
i::FLAG_turbo_inlining = false;
94-
i::FLAG_use_inlining = false;
9588
}
9689

9790
~AllowNativesSyntaxNoInlining() {
9891
i::FLAG_allow_natives_syntax = allow_natives_syntax_;
9992
i::FLAG_turbo_inlining = turbo_inlining_;
100-
i::FLAG_use_inlining = use_inlining_;
10193
}
10294

10395
private:
10496
bool allow_natives_syntax_;
10597
bool turbo_inlining_;
106-
bool use_inlining_;
10798
};
10899

109100

test/cctest/test-inobject-slack-tracking.cc

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ bool IsObjectShrinkable(JSObject* obj) {
128128

129129
TEST(JSObjectBasic) {
130130
// Avoid eventual completion of in-object slack tracking.
131-
FLAG_inline_construct = false;
132131
FLAG_always_opt = false;
133132
CcTest::InitializeVM();
134133
v8::HandleScope scope(CcTest::isolate());
@@ -187,7 +186,6 @@ TEST(JSObjectBasicNoInlineNew) {
187186

188187
TEST(JSObjectComplex) {
189188
// Avoid eventual completion of in-object slack tracking.
190-
FLAG_inline_construct = false;
191189
FLAG_always_opt = false;
192190
CcTest::InitializeVM();
193191
v8::HandleScope scope(CcTest::isolate());
@@ -268,7 +266,6 @@ TEST(JSObjectComplexNoInlineNew) {
268266

269267
TEST(JSGeneratorObjectBasic) {
270268
// Avoid eventual completion of in-object slack tracking.
271-
FLAG_inline_construct = false;
272269
FLAG_always_opt = false;
273270
CcTest::InitializeVM();
274271
v8::HandleScope scope(CcTest::isolate());
@@ -335,7 +332,6 @@ TEST(JSGeneratorObjectBasicNoInlineNew) {
335332

336333
TEST(SubclassBasicNoBaseClassInstances) {
337334
// Avoid eventual completion of in-object slack tracking.
338-
FLAG_inline_construct = false;
339335
FLAG_always_opt = false;
340336
CcTest::InitializeVM();
341337
v8::HandleScope scope(CcTest::isolate());
@@ -428,7 +424,6 @@ TEST(SubclassBasicNoBaseClassInstancesNoInlineNew) {
428424

429425
TEST(SubclassBasic) {
430426
// Avoid eventual completion of in-object slack tracking.
431-
FLAG_inline_construct = false;
432427
FLAG_always_opt = false;
433428
CcTest::InitializeVM();
434429
v8::HandleScope scope(CcTest::isolate());
@@ -627,7 +622,6 @@ static void TestClassHierarchy(const std::vector<int>& hierarchy_desc, int n) {
627622

628623
static void TestSubclassChain(const std::vector<int>& hierarchy_desc) {
629624
// Avoid eventual completion of in-object slack tracking.
630-
FLAG_inline_construct = false;
631625
FLAG_always_opt = false;
632626
CcTest::InitializeVM();
633627
v8::HandleScope scope(CcTest::isolate());
@@ -668,7 +662,6 @@ TEST(LongSubclassChain3) {
668662

669663
TEST(InobjectPropetiesCountOverflowInSubclass) {
670664
// Avoid eventual completion of in-object slack tracking.
671-
FLAG_inline_construct = false;
672665
FLAG_always_opt = false;
673666
CcTest::InitializeVM();
674667
v8::HandleScope scope(CcTest::isolate());
@@ -853,7 +846,6 @@ TEST(ObjectLiteralPropertyBackingStoreSize) {
853846

854847
TEST(SlowModeSubclass) {
855848
// Avoid eventual completion of in-object slack tracking.
856-
FLAG_inline_construct = false;
857849
FLAG_always_opt = false;
858850
CcTest::InitializeVM();
859851
v8::HandleScope scope(CcTest::isolate());
@@ -991,7 +983,6 @@ static void TestSubclassBuiltin(const char* subclass_name,
991983

992984
TEST(SubclassObjectBuiltin) {
993985
// Avoid eventual completion of in-object slack tracking.
994-
FLAG_inline_construct = false;
995986
FLAG_always_opt = false;
996987
CcTest::InitializeVM();
997988
v8::HandleScope scope(CcTest::isolate());
@@ -1010,7 +1001,6 @@ TEST(SubclassObjectBuiltinNoInlineNew) {
10101001

10111002
TEST(SubclassFunctionBuiltin) {
10121003
// Avoid eventual completion of in-object slack tracking.
1013-
FLAG_inline_construct = false;
10141004
FLAG_always_opt = false;
10151005
CcTest::InitializeVM();
10161006
v8::HandleScope scope(CcTest::isolate());
@@ -1028,7 +1018,6 @@ TEST(SubclassFunctionBuiltinNoInlineNew) {
10281018

10291019
TEST(SubclassBooleanBuiltin) {
10301020
// Avoid eventual completion of in-object slack tracking.
1031-
FLAG_inline_construct = false;
10321021
FLAG_always_opt = false;
10331022
CcTest::InitializeVM();
10341023
v8::HandleScope scope(CcTest::isolate());
@@ -1046,7 +1035,6 @@ TEST(SubclassBooleanBuiltinNoInlineNew) {
10461035

10471036
TEST(SubclassErrorBuiltin) {
10481037
// Avoid eventual completion of in-object slack tracking.
1049-
FLAG_inline_construct = false;
10501038
FLAG_always_opt = false;
10511039
CcTest::InitializeVM();
10521040
v8::HandleScope scope(CcTest::isolate());
@@ -1071,7 +1059,6 @@ TEST(SubclassErrorBuiltinNoInlineNew) {
10711059

10721060
TEST(SubclassNumberBuiltin) {
10731061
// Avoid eventual completion of in-object slack tracking.
1074-
FLAG_inline_construct = false;
10751062
FLAG_always_opt = false;
10761063
CcTest::InitializeVM();
10771064
v8::HandleScope scope(CcTest::isolate());
@@ -1089,7 +1076,6 @@ TEST(SubclassNumberBuiltinNoInlineNew) {
10891076

10901077
TEST(SubclassDateBuiltin) {
10911078
// Avoid eventual completion of in-object slack tracking.
1092-
FLAG_inline_construct = false;
10931079
FLAG_always_opt = false;
10941080
CcTest::InitializeVM();
10951081
v8::HandleScope scope(CcTest::isolate());
@@ -1106,7 +1092,6 @@ TEST(SubclassDateBuiltinNoInlineNew) {
11061092

11071093
TEST(SubclassStringBuiltin) {
11081094
// Avoid eventual completion of in-object slack tracking.
1109-
FLAG_inline_construct = false;
11101095
FLAG_always_opt = false;
11111096
CcTest::InitializeVM();
11121097
v8::HandleScope scope(CcTest::isolate());
@@ -1124,7 +1109,6 @@ TEST(SubclassStringBuiltinNoInlineNew) {
11241109

11251110
TEST(SubclassRegExpBuiltin) {
11261111
// Avoid eventual completion of in-object slack tracking.
1127-
FLAG_inline_construct = false;
11281112
FLAG_always_opt = false;
11291113
CcTest::InitializeVM();
11301114
v8::HandleScope scope(CcTest::isolate());
@@ -1143,7 +1127,6 @@ TEST(SubclassRegExpBuiltinNoInlineNew) {
11431127

11441128
TEST(SubclassArrayBuiltin) {
11451129
// Avoid eventual completion of in-object slack tracking.
1146-
FLAG_inline_construct = false;
11471130
FLAG_always_opt = false;
11481131
CcTest::InitializeVM();
11491132
v8::HandleScope scope(CcTest::isolate());
@@ -1160,7 +1143,6 @@ TEST(SubclassArrayBuiltinNoInlineNew) {
11601143

11611144
TEST(SubclassTypedArrayBuiltin) {
11621145
// Avoid eventual completion of in-object slack tracking.
1163-
FLAG_inline_construct = false;
11641146
FLAG_always_opt = false;
11651147
CcTest::InitializeVM();
11661148
v8::HandleScope scope(CcTest::isolate());
@@ -1182,7 +1164,6 @@ TEST(SubclassTypedArrayBuiltinNoInlineNew) {
11821164

11831165
TEST(SubclassCollectionBuiltin) {
11841166
// Avoid eventual completion of in-object slack tracking.
1185-
FLAG_inline_construct = false;
11861167
FLAG_always_opt = false;
11871168
CcTest::InitializeVM();
11881169
v8::HandleScope scope(CcTest::isolate());
@@ -1202,7 +1183,6 @@ TEST(SubclassCollectionBuiltinNoInlineNew) {
12021183

12031184
TEST(SubclassArrayBufferBuiltin) {
12041185
// Avoid eventual completion of in-object slack tracking.
1205-
FLAG_inline_construct = false;
12061186
FLAG_always_opt = false;
12071187
CcTest::InitializeVM();
12081188
v8::HandleScope scope(CcTest::isolate());
@@ -1221,7 +1201,6 @@ TEST(SubclassArrayBufferBuiltinNoInlineNew) {
12211201

12221202
TEST(SubclassPromiseBuiltin) {
12231203
// Avoid eventual completion of in-object slack tracking.
1224-
FLAG_inline_construct = false;
12251204
FLAG_always_opt = false;
12261205
CcTest::InitializeVM();
12271206
v8::HandleScope scope(CcTest::isolate());

test/cctest/test-log-stack-tracer.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,6 @@ static void CreateTraceCallerFunction(v8::Local<v8::Context> context,
150150
TEST(CFromJSStackTrace) {
151151
// BUG(1303) Inlining of JSFuncDoTrace() in JSTrace below breaks this test.
152152
i::FLAG_turbo_inlining = false;
153-
i::FLAG_use_inlining = false;
154153

155154
TickSample sample;
156155
i::TraceExtension::InitTraceEnv(&sample);
@@ -200,7 +199,6 @@ TEST(PureJSStackTrace) {
200199
// This test does not pass with inlining enabled since inlined functions
201200
// don't appear in the stack trace.
202201
i::FLAG_turbo_inlining = false;
203-
i::FLAG_use_inlining = false;
204202

205203
TickSample sample;
206204
i::TraceExtension::InitTraceEnv(&sample);

test/cctest/test-profile-generator.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,6 @@ TEST(RecordStackTraceAtStartProfiling) {
518518
// This test does not pass with inlining enabled since inlined functions
519519
// don't appear in the stack trace.
520520
i::FLAG_turbo_inlining = false;
521-
i::FLAG_use_inlining = false;
522521

523522
v8::HandleScope scope(CcTest::isolate());
524523
v8::Local<v8::Context> env = CcTest::NewContext(PROFILER_EXTENSION);
@@ -597,7 +596,6 @@ TEST(ProfileNodeScriptId) {
597596
// This test does not pass with inlining enabled since inlined functions
598597
// don't appear in the stack trace.
599598
i::FLAG_turbo_inlining = false;
600-
i::FLAG_use_inlining = false;
601599

602600
v8::HandleScope scope(CcTest::isolate());
603601
v8::Local<v8::Context> env = CcTest::NewContext(PROFILER_EXTENSION);
@@ -667,8 +665,6 @@ int GetFunctionLineNumber(CpuProfiler& profiler, LocalContext& env,
667665
}
668666

669667
TEST(LineNumber) {
670-
i::FLAG_use_inlining = false;
671-
672668
CcTest::InitializeVM();
673669
LocalContext env;
674670
i::Isolate* isolate = CcTest::i_isolate();

test/mjsunit/array-push9.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5-
// Flags: --allow-natives-syntax --deopt-every-n-times=5 --nodead-code-elimination
5+
// Flags: --allow-natives-syntax --deopt-every-n-times=5
66

77
var array = [];
88

test/mjsunit/bounds-checks-elimination.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5-
// Flags: --allow-natives-syntax --array-bounds-checks-elimination
5+
// Flags: --allow-natives-syntax
66

77
var a = []
88
for (var i = 0; i < 9; i++) a[i] = i + 1;

0 commit comments

Comments
 (0)