Commit 5d16e866 authored by Michael Starzinger's avatar Michael Starzinger Committed by Commit Bot

Revert "[flags] Remove some dead Crankshaft flags."

This reverts commit ec6da23b.

Reason for revert: Requires infrastructure changes first. Will reland after changes have happened.

Original change's description:
> [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}

TBR=mstarzinger@chromium.org,bmeurer@chromium.org

Change-Id: Iee077911ae7d877c6a9d2edb548e3c04345b47ce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:6408
Reviewed-on: https://chromium-review.googlesource.com/570049Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46632}
parent ec6da23b
...@@ -337,6 +337,11 @@ DEFINE_STRING(trace_ignition_dispatches_output_file, nullptr, ...@@ -337,6 +337,11 @@ DEFINE_STRING(trace_ignition_dispatches_output_file, nullptr,
// Flags for Crankshaft. // Flags for Crankshaft.
DEFINE_STRING(hydrogen_filter, "*", "optimization filter") DEFINE_STRING(hydrogen_filter, "*", "optimization filter")
DEFINE_BOOL(use_gvn, true, "use hydrogen global value numbering")
DEFINE_INT(gvn_iterations, 3, "maximum number of GVN fix-point iterations")
DEFINE_BOOL(use_canonicalizing, true, "use hydrogen instruction canonicalizing")
DEFINE_BOOL(use_inlining, true, "use function inlining")
DEFINE_BOOL(use_escape_analysis, true, "use hydrogen escape analysis")
DEFINE_BOOL(use_allocation_folding, true, "use allocation folding") DEFINE_BOOL(use_allocation_folding, true, "use allocation folding")
DEFINE_BOOL(use_local_allocation_folding, false, "only fold in basic blocks") DEFINE_BOOL(use_local_allocation_folding, false, "only fold in basic blocks")
DEFINE_BOOL(use_write_barrier_elimination, true, DEFINE_BOOL(use_write_barrier_elimination, true,
...@@ -354,7 +359,10 @@ DEFINE_INT(max_inlined_nodes_cumulative, 400, ...@@ -354,7 +359,10 @@ DEFINE_INT(max_inlined_nodes_cumulative, 400,
DEFINE_INT(max_inlined_nodes_small, 10, DEFINE_INT(max_inlined_nodes_small, 10,
"maximum number of AST nodes considered for small function inlining") "maximum number of AST nodes considered for small function inlining")
DEFINE_FLOAT(min_inlining_frequency, 0.15, "minimum frequency for inlining") DEFINE_FLOAT(min_inlining_frequency, 0.15, "minimum frequency for inlining")
DEFINE_BOOL(loop_invariant_code_motion, true, "loop invariant code motion")
DEFINE_BOOL(fast_math, true, "faster (but maybe less accurate) math functions") DEFINE_BOOL(fast_math, true, "faster (but maybe less accurate) math functions")
DEFINE_BOOL(hydrogen_stats, false, "print statistics for hydrogen")
DEFINE_BOOL(trace_check_elimination, false, "trace check elimination phase")
DEFINE_BOOL(trace_environment_liveness, false, DEFINE_BOOL(trace_environment_liveness, false,
"trace liveness of local variable slots") "trace liveness of local variable slots")
DEFINE_BOOL(trace_hydrogen, false, "trace generated hydrogen to file") DEFINE_BOOL(trace_hydrogen, false, "trace generated hydrogen to file")
...@@ -362,34 +370,60 @@ DEFINE_STRING(trace_hydrogen_filter, "*", "hydrogen tracing filter") ...@@ -362,34 +370,60 @@ DEFINE_STRING(trace_hydrogen_filter, "*", "hydrogen tracing filter")
DEFINE_BOOL(trace_hydrogen_stubs, false, "trace generated hydrogen for stubs") DEFINE_BOOL(trace_hydrogen_stubs, false, "trace generated hydrogen for stubs")
DEFINE_STRING(trace_hydrogen_file, NULL, "trace hydrogen to given file name") DEFINE_STRING(trace_hydrogen_file, NULL, "trace hydrogen to given file name")
DEFINE_STRING(trace_phase, "HLZ", "trace generated IR for specified phases") DEFINE_STRING(trace_phase, "HLZ", "trace generated IR for specified phases")
DEFINE_BOOL(trace_inlining, false, "trace inlining decisions")
DEFINE_BOOL(trace_load_elimination, false, "trace load elimination")
DEFINE_BOOL(trace_store_elimination, false, "trace store elimination") DEFINE_BOOL(trace_store_elimination, false, "trace store elimination")
DEFINE_BOOL(turbo_verify_store_elimination, false, DEFINE_BOOL(turbo_verify_store_elimination, false,
"verify store elimination more rigorously") "verify store elimination more rigorously")
DEFINE_BOOL(trace_alloc, false, "trace register allocator") DEFINE_BOOL(trace_alloc, false, "trace register allocator")
DEFINE_BOOL(trace_all_uses, false, "trace all use positions") DEFINE_BOOL(trace_all_uses, false, "trace all use positions")
DEFINE_BOOL(trace_range, false, "trace range analysis")
DEFINE_BOOL(trace_gvn, false, "trace global value numbering")
DEFINE_BOOL(trace_representation, false, "trace representation types") DEFINE_BOOL(trace_representation, false, "trace representation types")
DEFINE_BOOL(trace_removable_simulates, false, "trace removable simulates")
DEFINE_BOOL(trace_escape_analysis, false, "trace hydrogen escape analysis")
DEFINE_BOOL(trace_allocation_folding, false, "trace allocation folding")
DEFINE_BOOL(trace_track_allocation_sites, false, DEFINE_BOOL(trace_track_allocation_sites, false,
"trace the tracking of allocation sites") "trace the tracking of allocation sites")
DEFINE_BOOL(trace_migration, false, "trace object migration") DEFINE_BOOL(trace_migration, false, "trace object migration")
DEFINE_BOOL(trace_generalization, false, "trace map generalization") DEFINE_BOOL(trace_generalization, false, "trace map generalization")
DEFINE_BOOL(stress_pointer_maps, false, "pointer map for every instruction") DEFINE_BOOL(stress_pointer_maps, false, "pointer map for every instruction")
DEFINE_BOOL(stress_environments, false, "environment for every instruction")
DEFINE_INT(deopt_every_n_times, 0, DEFINE_INT(deopt_every_n_times, 0,
"deoptimize every n times a deopt point is passed") "deoptimize every n times a deopt point is passed")
DEFINE_BOOL(print_deopt_stress, false, "print number of possible deopt points") DEFINE_BOOL(print_deopt_stress, false, "print number of possible deopt points")
DEFINE_BOOL(trap_on_deopt, false, "put a break point before deoptimizing") DEFINE_BOOL(trap_on_deopt, false, "put a break point before deoptimizing")
DEFINE_BOOL(trap_on_stub_deopt, false, DEFINE_BOOL(trap_on_stub_deopt, false,
"put a break point before deoptimizing a stub") "put a break point before deoptimizing a stub")
DEFINE_BOOL(deoptimize_uncommon_cases, true, "deoptimize uncommon cases")
DEFINE_BOOL(polymorphic_inlining, true, "polymorphic inlining") DEFINE_BOOL(polymorphic_inlining, true, "polymorphic inlining")
DEFINE_BOOL(use_osr, true, "use on-stack replacement") DEFINE_BOOL(use_osr, true, "use on-stack replacement")
DEFINE_BOOL(array_bounds_checks_elimination, true,
"perform array bounds checks elimination")
DEFINE_BOOL(trace_bce, false, "trace array bounds check elimination")
DEFINE_BOOL(array_index_dehoisting, true, "perform array index dehoisting")
DEFINE_BOOL(analyze_environment_liveness, true, DEFINE_BOOL(analyze_environment_liveness, true,
"analyze liveness of environment slots and zap dead values") "analyze liveness of environment slots and zap dead values")
DEFINE_BOOL(load_elimination, true, "use load elimination") DEFINE_BOOL(load_elimination, true, "use load elimination")
DEFINE_BOOL(check_elimination, true, "use check elimination") DEFINE_BOOL(check_elimination, true, "use check elimination")
DEFINE_BOOL(store_elimination, false, "use store elimination") DEFINE_BOOL(store_elimination, false, "use store elimination")
DEFINE_BOOL(dead_code_elimination, true, "use dead code elimination")
DEFINE_BOOL(fold_constants, true, "use constant folding")
DEFINE_BOOL(trace_dead_code_elimination, false, "trace dead code elimination")
DEFINE_BOOL(unreachable_code_elimination, true, "eliminate unreachable code")
DEFINE_BOOL(trace_osr, false, "trace on-stack replacement") DEFINE_BOOL(trace_osr, false, "trace on-stack replacement")
DEFINE_INT(stress_runs, 0, "number of stress runs") DEFINE_INT(stress_runs, 0, "number of stress runs")
DEFINE_BOOL(lookup_sample_by_shared, true,
"when picking a function to optimize, watch for shared function "
"info, not JSFunction itself")
DEFINE_BOOL(flush_optimized_code_cache, false,
"flushes the cache of optimized code for closures on every GC")
DEFINE_BOOL(inline_construct, true, "inline constructor calls")
DEFINE_BOOL(inline_arguments, true, "inline functions with arguments object")
DEFINE_BOOL(inline_accessors, true, "inline JavaScript accessors") DEFINE_BOOL(inline_accessors, true, "inline JavaScript accessors")
DEFINE_BOOL(inline_into_try, true, "inline into try blocks") DEFINE_BOOL(inline_into_try, true, "inline into try blocks")
DEFINE_INT(escape_analysis_iterations, 1,
"maximum number of escape analysis fix-point iterations")
DEFINE_BOOL(concurrent_recompilation, true, DEFINE_BOOL(concurrent_recompilation, true,
"optimizing hot functions asynchronously on a separate thread") "optimizing hot functions asynchronously on a separate thread")
...@@ -993,6 +1027,10 @@ DEFINE_STRING(startup_src, NULL, ...@@ -993,6 +1027,10 @@ DEFINE_STRING(startup_src, NULL,
DEFINE_STRING(startup_blob, NULL, DEFINE_STRING(startup_blob, NULL,
"Write V8 startup blob file. (mksnapshot only)") "Write V8 startup blob file. (mksnapshot only)")
// code-stubs-hydrogen.cc
DEFINE_BOOL(profile_hydrogen_code_stub_compilation, false,
"Print the time it takes to lazily compile hydrogen code stubs.")
// //
// Dev shell flags // Dev shell flags
// //
......
...@@ -14451,6 +14451,7 @@ TEST(SetFunctionEntryHook) { ...@@ -14451,6 +14451,7 @@ TEST(SetFunctionEntryHook) {
// only gets called from experimental natives) is compiled with entry hooks. // only gets called from experimental natives) is compiled with entry hooks.
i::FLAG_allow_natives_syntax = true; i::FLAG_allow_natives_syntax = true;
i::FLAG_turbo_inlining = false; i::FLAG_turbo_inlining = false;
i::FLAG_use_inlining = false;
SetFunctionEntryHookTest test; SetFunctionEntryHookTest test;
test.RunTest(); test.RunTest();
......
...@@ -51,50 +51,59 @@ using ::v8::internal::Object; ...@@ -51,50 +51,59 @@ using ::v8::internal::Object;
// Utility class to set the following runtime flags when constructed and return // Utility class to set the following runtime flags when constructed and return
// to their default state when destroyed: // to their default state when destroyed:
// --allow-natives-syntax --always-opt --noturbo-inlining // --allow-natives-syntax --always-opt --noturbo-inlining --nouse-inlining
class AlwaysOptimizeAllowNativesSyntaxNoInlining { class AlwaysOptimizeAllowNativesSyntaxNoInlining {
public: public:
AlwaysOptimizeAllowNativesSyntaxNoInlining() AlwaysOptimizeAllowNativesSyntaxNoInlining()
: always_opt_(i::FLAG_always_opt), : always_opt_(i::FLAG_always_opt),
allow_natives_syntax_(i::FLAG_allow_natives_syntax), allow_natives_syntax_(i::FLAG_allow_natives_syntax),
turbo_inlining_(i::FLAG_turbo_inlining) { turbo_inlining_(i::FLAG_turbo_inlining),
use_inlining_(i::FLAG_use_inlining) {
i::FLAG_always_opt = true; i::FLAG_always_opt = true;
i::FLAG_allow_natives_syntax = true; i::FLAG_allow_natives_syntax = true;
i::FLAG_turbo_inlining = false; i::FLAG_turbo_inlining = false;
i::FLAG_use_inlining = false;
} }
~AlwaysOptimizeAllowNativesSyntaxNoInlining() { ~AlwaysOptimizeAllowNativesSyntaxNoInlining() {
i::FLAG_always_opt = always_opt_; i::FLAG_always_opt = always_opt_;
i::FLAG_allow_natives_syntax = allow_natives_syntax_; i::FLAG_allow_natives_syntax = allow_natives_syntax_;
i::FLAG_turbo_inlining = turbo_inlining_; i::FLAG_turbo_inlining = turbo_inlining_;
i::FLAG_use_inlining = use_inlining_;
} }
private: private:
bool always_opt_; bool always_opt_;
bool allow_natives_syntax_; bool allow_natives_syntax_;
bool turbo_inlining_; bool turbo_inlining_;
bool use_inlining_;
}; };
// Utility class to set the following runtime flags when constructed and return // Utility class to set the following runtime flags when constructed and return
// to their default state when destroyed: // to their default state when destroyed:
// --allow-natives-syntax --noturbo-inlining // --allow-natives-syntax --noturbo-inlining --nouse-inlining
class AllowNativesSyntaxNoInlining { class AllowNativesSyntaxNoInlining {
public: public:
AllowNativesSyntaxNoInlining() AllowNativesSyntaxNoInlining()
: allow_natives_syntax_(i::FLAG_allow_natives_syntax), : allow_natives_syntax_(i::FLAG_allow_natives_syntax),
turbo_inlining_(i::FLAG_turbo_inlining) { turbo_inlining_(i::FLAG_turbo_inlining),
use_inlining_(i::FLAG_use_inlining) {
i::FLAG_allow_natives_syntax = true; i::FLAG_allow_natives_syntax = true;
i::FLAG_turbo_inlining = false; i::FLAG_turbo_inlining = false;
i::FLAG_use_inlining = false;
} }
~AllowNativesSyntaxNoInlining() { ~AllowNativesSyntaxNoInlining() {
i::FLAG_allow_natives_syntax = allow_natives_syntax_; i::FLAG_allow_natives_syntax = allow_natives_syntax_;
i::FLAG_turbo_inlining = turbo_inlining_; i::FLAG_turbo_inlining = turbo_inlining_;
i::FLAG_use_inlining = use_inlining_;
} }
private: private:
bool allow_natives_syntax_; bool allow_natives_syntax_;
bool turbo_inlining_; bool turbo_inlining_;
bool use_inlining_;
}; };
......
...@@ -128,6 +128,7 @@ bool IsObjectShrinkable(JSObject* obj) { ...@@ -128,6 +128,7 @@ bool IsObjectShrinkable(JSObject* obj) {
TEST(JSObjectBasic) { TEST(JSObjectBasic) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -186,6 +187,7 @@ TEST(JSObjectBasicNoInlineNew) { ...@@ -186,6 +187,7 @@ TEST(JSObjectBasicNoInlineNew) {
TEST(JSObjectComplex) { TEST(JSObjectComplex) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -266,6 +268,7 @@ TEST(JSObjectComplexNoInlineNew) { ...@@ -266,6 +268,7 @@ TEST(JSObjectComplexNoInlineNew) {
TEST(JSGeneratorObjectBasic) { TEST(JSGeneratorObjectBasic) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -332,6 +335,7 @@ TEST(JSGeneratorObjectBasicNoInlineNew) { ...@@ -332,6 +335,7 @@ TEST(JSGeneratorObjectBasicNoInlineNew) {
TEST(SubclassBasicNoBaseClassInstances) { TEST(SubclassBasicNoBaseClassInstances) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -424,6 +428,7 @@ TEST(SubclassBasicNoBaseClassInstancesNoInlineNew) { ...@@ -424,6 +428,7 @@ TEST(SubclassBasicNoBaseClassInstancesNoInlineNew) {
TEST(SubclassBasic) { TEST(SubclassBasic) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -622,6 +627,7 @@ static void TestClassHierarchy(const std::vector<int>& hierarchy_desc, int n) { ...@@ -622,6 +627,7 @@ static void TestClassHierarchy(const std::vector<int>& hierarchy_desc, int n) {
static void TestSubclassChain(const std::vector<int>& hierarchy_desc) { static void TestSubclassChain(const std::vector<int>& hierarchy_desc) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -662,6 +668,7 @@ TEST(LongSubclassChain3) { ...@@ -662,6 +668,7 @@ TEST(LongSubclassChain3) {
TEST(InobjectPropetiesCountOverflowInSubclass) { TEST(InobjectPropetiesCountOverflowInSubclass) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -846,6 +853,7 @@ TEST(ObjectLiteralPropertyBackingStoreSize) { ...@@ -846,6 +853,7 @@ TEST(ObjectLiteralPropertyBackingStoreSize) {
TEST(SlowModeSubclass) { TEST(SlowModeSubclass) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -983,6 +991,7 @@ static void TestSubclassBuiltin(const char* subclass_name, ...@@ -983,6 +991,7 @@ static void TestSubclassBuiltin(const char* subclass_name,
TEST(SubclassObjectBuiltin) { TEST(SubclassObjectBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1001,6 +1010,7 @@ TEST(SubclassObjectBuiltinNoInlineNew) { ...@@ -1001,6 +1010,7 @@ TEST(SubclassObjectBuiltinNoInlineNew) {
TEST(SubclassFunctionBuiltin) { TEST(SubclassFunctionBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1018,6 +1028,7 @@ TEST(SubclassFunctionBuiltinNoInlineNew) { ...@@ -1018,6 +1028,7 @@ TEST(SubclassFunctionBuiltinNoInlineNew) {
TEST(SubclassBooleanBuiltin) { TEST(SubclassBooleanBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1035,6 +1046,7 @@ TEST(SubclassBooleanBuiltinNoInlineNew) { ...@@ -1035,6 +1046,7 @@ TEST(SubclassBooleanBuiltinNoInlineNew) {
TEST(SubclassErrorBuiltin) { TEST(SubclassErrorBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1059,6 +1071,7 @@ TEST(SubclassErrorBuiltinNoInlineNew) { ...@@ -1059,6 +1071,7 @@ TEST(SubclassErrorBuiltinNoInlineNew) {
TEST(SubclassNumberBuiltin) { TEST(SubclassNumberBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1076,6 +1089,7 @@ TEST(SubclassNumberBuiltinNoInlineNew) { ...@@ -1076,6 +1089,7 @@ TEST(SubclassNumberBuiltinNoInlineNew) {
TEST(SubclassDateBuiltin) { TEST(SubclassDateBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1092,6 +1106,7 @@ TEST(SubclassDateBuiltinNoInlineNew) { ...@@ -1092,6 +1106,7 @@ TEST(SubclassDateBuiltinNoInlineNew) {
TEST(SubclassStringBuiltin) { TEST(SubclassStringBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1109,6 +1124,7 @@ TEST(SubclassStringBuiltinNoInlineNew) { ...@@ -1109,6 +1124,7 @@ TEST(SubclassStringBuiltinNoInlineNew) {
TEST(SubclassRegExpBuiltin) { TEST(SubclassRegExpBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1127,6 +1143,7 @@ TEST(SubclassRegExpBuiltinNoInlineNew) { ...@@ -1127,6 +1143,7 @@ TEST(SubclassRegExpBuiltinNoInlineNew) {
TEST(SubclassArrayBuiltin) { TEST(SubclassArrayBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1143,6 +1160,7 @@ TEST(SubclassArrayBuiltinNoInlineNew) { ...@@ -1143,6 +1160,7 @@ TEST(SubclassArrayBuiltinNoInlineNew) {
TEST(SubclassTypedArrayBuiltin) { TEST(SubclassTypedArrayBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1164,6 +1182,7 @@ TEST(SubclassTypedArrayBuiltinNoInlineNew) { ...@@ -1164,6 +1182,7 @@ TEST(SubclassTypedArrayBuiltinNoInlineNew) {
TEST(SubclassCollectionBuiltin) { TEST(SubclassCollectionBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1183,6 +1202,7 @@ TEST(SubclassCollectionBuiltinNoInlineNew) { ...@@ -1183,6 +1202,7 @@ TEST(SubclassCollectionBuiltinNoInlineNew) {
TEST(SubclassArrayBufferBuiltin) { TEST(SubclassArrayBufferBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
...@@ -1201,6 +1221,7 @@ TEST(SubclassArrayBufferBuiltinNoInlineNew) { ...@@ -1201,6 +1221,7 @@ TEST(SubclassArrayBufferBuiltinNoInlineNew) {
TEST(SubclassPromiseBuiltin) { TEST(SubclassPromiseBuiltin) {
// Avoid eventual completion of in-object slack tracking. // Avoid eventual completion of in-object slack tracking.
FLAG_inline_construct = false;
FLAG_always_opt = false; FLAG_always_opt = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
......
...@@ -150,6 +150,7 @@ static void CreateTraceCallerFunction(v8::Local<v8::Context> context, ...@@ -150,6 +150,7 @@ static void CreateTraceCallerFunction(v8::Local<v8::Context> context,
TEST(CFromJSStackTrace) { TEST(CFromJSStackTrace) {
// BUG(1303) Inlining of JSFuncDoTrace() in JSTrace below breaks this test. // BUG(1303) Inlining of JSFuncDoTrace() in JSTrace below breaks this test.
i::FLAG_turbo_inlining = false; i::FLAG_turbo_inlining = false;
i::FLAG_use_inlining = false;
TickSample sample; TickSample sample;
i::TraceExtension::InitTraceEnv(&sample); i::TraceExtension::InitTraceEnv(&sample);
...@@ -199,6 +200,7 @@ TEST(PureJSStackTrace) { ...@@ -199,6 +200,7 @@ TEST(PureJSStackTrace) {
// This test does not pass with inlining enabled since inlined functions // This test does not pass with inlining enabled since inlined functions
// don't appear in the stack trace. // don't appear in the stack trace.
i::FLAG_turbo_inlining = false; i::FLAG_turbo_inlining = false;
i::FLAG_use_inlining = false;
TickSample sample; TickSample sample;
i::TraceExtension::InitTraceEnv(&sample); i::TraceExtension::InitTraceEnv(&sample);
......
...@@ -518,6 +518,7 @@ TEST(RecordStackTraceAtStartProfiling) { ...@@ -518,6 +518,7 @@ TEST(RecordStackTraceAtStartProfiling) {
// This test does not pass with inlining enabled since inlined functions // This test does not pass with inlining enabled since inlined functions
// don't appear in the stack trace. // don't appear in the stack trace.
i::FLAG_turbo_inlining = false; i::FLAG_turbo_inlining = false;
i::FLAG_use_inlining = false;
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
v8::Local<v8::Context> env = CcTest::NewContext(PROFILER_EXTENSION); v8::Local<v8::Context> env = CcTest::NewContext(PROFILER_EXTENSION);
...@@ -596,6 +597,7 @@ TEST(ProfileNodeScriptId) { ...@@ -596,6 +597,7 @@ TEST(ProfileNodeScriptId) {
// This test does not pass with inlining enabled since inlined functions // This test does not pass with inlining enabled since inlined functions
// don't appear in the stack trace. // don't appear in the stack trace.
i::FLAG_turbo_inlining = false; i::FLAG_turbo_inlining = false;
i::FLAG_use_inlining = false;
v8::HandleScope scope(CcTest::isolate()); v8::HandleScope scope(CcTest::isolate());
v8::Local<v8::Context> env = CcTest::NewContext(PROFILER_EXTENSION); v8::Local<v8::Context> env = CcTest::NewContext(PROFILER_EXTENSION);
...@@ -665,6 +667,8 @@ int GetFunctionLineNumber(CpuProfiler& profiler, LocalContext& env, ...@@ -665,6 +667,8 @@ int GetFunctionLineNumber(CpuProfiler& profiler, LocalContext& env,
} }
TEST(LineNumber) { TEST(LineNumber) {
i::FLAG_use_inlining = false;
CcTest::InitializeVM(); CcTest::InitializeVM();
LocalContext env; LocalContext env;
i::Isolate* isolate = CcTest::i_isolate(); i::Isolate* isolate = CcTest::i_isolate();
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax --deopt-every-n-times=5 // Flags: --allow-natives-syntax --deopt-every-n-times=5 --nodead-code-elimination
var array = []; var array = [];
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --array-bounds-checks-elimination
var a = [] var a = []
for (var i = 0; i < 9; i++) a[i] = i + 1; for (var i = 0; i < 9; i++) a[i] = i + 1;
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --inline-construct
// Flags: --max-inlined-source-size=999999 --max-inlined-nodes=999999 // Flags: --max-inlined-source-size=999999 --max-inlined-nodes=999999
// Flags: --max-inlined-nodes-cumulative=999999 // Flags: --max-inlined-nodes-cumulative=999999
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --inline-construct
// Test that inlined object allocation works for different layouts of // Test that inlined object allocation works for different layouts of
// objects (e.g. in object properties, slack tracking in progress or // objects (e.g. in object properties, slack tracking in progress or
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --no-use-inlining
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax --expose-gc // Flags: --allow-natives-syntax --use-escape-analysis --expose-gc
// Simple test of capture // Simple test of capture
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --use-escape-analysis
// This tests that captured objects materialized through the deoptimizer // This tests that captured objects materialized through the deoptimizer
// have field descriptors with a representation matching the values that // have field descriptors with a representation matching the values that
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax --expose-gc // Flags: --allow-natives-syntax --use-escape-analysis --expose-gc
// Test stores on a join path. // Test stores on a join path.
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --inline-construct
// Test inlining of constructor calls. // Test inlining of constructor calls.
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --no-fold-constants
function add(x, y) { function add(x, y) {
return x + y; return x + y;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --dead-code-elimination
function foo(x) { Math.fround(x); } function foo(x) { Math.fround(x); }
foo(1); foo(1);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --dead-code-elimination
function foo(x) { Math.sqrt(x); } function foo(x) { Math.sqrt(x); }
foo(1); foo(1);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --dead-code-elimination
function foo(x) { Math.floor(x); } function foo(x) { Math.floor(x); }
foo(1); foo(1);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --dead-code-elimination
function foo(x) { Math.round(x); } function foo(x) { Math.round(x); }
foo(1); foo(1);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --dead-code-elimination
function foo(x) { Math.abs(x); } function foo(x) { Math.abs(x); }
foo(1); foo(1);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --dead-code-elimination
function foo(x) { Math.log(x); } function foo(x) { Math.log(x); }
foo(1); foo(1);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --fold-constants
function test() { function test() {
assertEquals("string", typeof ""); assertEquals("string", typeof "");
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --nodead-code-elimination --fold-constants
// Flags: --allow-natives-syntax --nostress-opt --opt // Flags: --allow-natives-syntax --nostress-opt --opt
function test(f) { function test(f) {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax --opt // Flags: --allow-natives-syntax --nouse-inlining --opt
// Test for negative zero that doesn't need bail out // Test for negative zero that doesn't need bail out
......
...@@ -25,7 +25,8 @@ ...@@ -25,7 +25,8 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax --noenable-sudiv --noenable-armv8 // Flags: --allow-natives-syntax --nouse-inlining --noenable-sudiv
// Flags: --noenable-armv8
// Use this function as reference. Make sure it is not inlined. // Use this function as reference. Make sure it is not inlined.
function div(a, b) { function div(a, b) {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax --enable-sudiv // Flags: --allow-natives-syntax --nouse-inlining --enable-sudiv
// Use this function as reference. Make sure it is not inlined. // Use this function as reference. Make sure it is not inlined.
function div(a, b) { function div(a, b) {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --concurrent-recompilation // Flags: --nodead-code-elimination --concurrent-recompilation
// Flags: --allow-natives-syntax --no-always-opt // Flags: --allow-natives-syntax --no-always-opt
if (!%IsConcurrentRecompilationSupported()) { if (!%IsConcurrentRecompilationSupported()) {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --nouse-inlining
// Test that we do not crash we invoke builtins from optimized code that // Test that we do not crash we invoke builtins from optimized code that
// is then deoptimized. // is then deoptimized.
......
...@@ -25,7 +25,8 @@ ...@@ -25,7 +25,8 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --nodead-code-elimination
// Flags: --nofold-constants --nouse-gvn
// Create a function to get a long series of removable simulates. // Create a function to get a long series of removable simulates.
// f() { // f() {
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --dead-code-elimination
// This tests that stores on captured objects are correctly tracked even // This tests that stores on captured objects are correctly tracked even
// when DCE is enabled. We cannot delete simulations of captured objects // when DCE is enabled. We cannot delete simulations of captured objects
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --fold-constants --allow-natives-syntax
function bar(obj) { function bar(obj) {
assertTrue(obj.x === 'baz'); assertTrue(obj.x === 'baz');
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax --debug-code // Flags: --allow-natives-syntax --debug-code --fold-constants
function f(a) { function f(a) {
a[5000000] = 256; a[5000000] = 256;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --fold-constants
function store(a) { function store(a) {
a[5000000] = 1; a[5000000] = 1;
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax --deopt-every-n-times=55 // Flags: --allow-natives-syntax --deopt-every-n-times=55
// Flags: --nodead-code-elimination
function f(t) { function f(t) {
var result = []; var result = [];
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --no-fold-constants
function foo(x, y) { function foo(x, y) {
return Math.floor(x / y); return Math.floor(x / y);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax --expose-gc // Flags: --allow-natives-syntax --dead-code-elimination --expose-gc
var training = {}; var training = {};
training.a = "nop"; training.a = "nop";
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax --debug-code // Flags: --allow-natives-syntax --debug-code --use-gvn
function f(a, base) { function f(a, base) {
a[base] = 1; a[base] = 1;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --fold-constants
var result = 0; var result = 0;
var o1 = {}; var o1 = {};
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --enable-slow-asserts --debug-code // Flags: --nofold-constants --enable-slow-asserts --debug-code
function foo(p) { function foo(p) {
for (var i = 0; i < 100000; ++i) { for (var i = 0; i < 100000; ++i) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --debug-code // Flags: --debug-code --nouse-gvn
"use strict"; "use strict";
class Base { class Base {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax // Flags: --allow-natives-syntax --fold-constants
var zero = 0; var zero = 0;
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --fold-constants --nodead-code-elimination
// Flags: --expose-gc --allow-natives-syntax // Flags: --expose-gc --allow-natives-syntax
// Flags: --concurrent-recompilation --block-concurrent-recompilation // Flags: --concurrent-recompilation --block-concurrent-recompilation
// Flags: --opt --no-always-opt // Flags: --opt --no-always-opt
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// Flags: --allow-natives-syntax --track-field-types // Flags: --allow-natives-syntax --track-field-types --use-gvn
function A(id) { function A(id) {
this.id = id; this.id = id;
......
...@@ -58,9 +58,11 @@ TIMEOUT_SCALEFACTOR = {"debug" : 4, ...@@ -58,9 +58,11 @@ TIMEOUT_SCALEFACTOR = {"debug" : 4,
"release" : 1 } "release" : 1 }
MODE_FLAGS = { MODE_FLAGS = {
"debug" : ["--nohard-abort", "--enable-slow-asserts", "debug" : ["--nohard-abort", "--nodead-code-elimination",
"--nofold-constants", "--enable-slow-asserts",
"--verify-heap", "--noconcurrent-recompilation"], "--verify-heap", "--noconcurrent-recompilation"],
"release" : ["--nohard-abort", "--noconcurrent-recompilation"]} "release" : ["--nohard-abort", "--nodead-code-elimination",
"--nofold-constants", "--noconcurrent-recompilation"]}
SUPPORTED_ARCHS = ["android_arm", SUPPORTED_ARCHS = ["android_arm",
"android_ia32", "android_ia32",
......
...@@ -131,8 +131,11 @@ VARIANT_ALIASES = { ...@@ -131,8 +131,11 @@ VARIANT_ALIASES = {
"extra": [], "extra": [],
} }
DEBUG_FLAGS = ["--nohard-abort", "--enable-slow-asserts", "--verify-heap"] DEBUG_FLAGS = ["--nohard-abort", "--nodead-code-elimination",
RELEASE_FLAGS = ["--nohard-abort"] "--nofold-constants", "--enable-slow-asserts",
"--verify-heap"]
RELEASE_FLAGS = ["--nohard-abort", "--nodead-code-elimination",
"--nofold-constants"]
MODES = { MODES = {
"debug": { "debug": {
......
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