Remove on-by-default flag --concurrent-typed-lowering.

Bug: v8:7790
Change-Id: I842615412368b37a1be4a5dfff7ba37f781f7906
Reviewed-on: https://chromium-review.googlesource.com/c/1297965
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56981}
This commit is contained in:
Georg Neis 2018-10-25 10:25:33 +02:00 committed by Commit Bot
parent 17f47d7402
commit 3f0a307b00
4 changed files with 10 additions and 69 deletions

View File

@ -2042,19 +2042,11 @@ bool PipelineImpl::CreateGraph() {
// brokerization of JSNativeContextSpecialization is complete.
Run<CopyMetadataForConcurrentCompilePhase>();
data->broker()->StopSerializing();
} else if (FLAG_concurrent_typed_lowering) {
} else {
data->broker()->StartSerializing();
Run<SerializeStandardObjectsPhase>();
Run<CopyMetadataForConcurrentCompilePhase>();
data->broker()->StopSerializing();
} else {
// Type the graph and keep the Typer running such that new nodes get
// automatically typed when they are created.
Run<TyperPhase>(data->CreateTyper());
RunPrintAndVerify(TyperPhase::phase_name());
Run<TypedLoweringPhase>();
RunPrintAndVerify(TypedLoweringPhase::phase_name());
data->DeleteTyper();
}
}
@ -2068,15 +2060,13 @@ bool PipelineImpl::OptimizeGraph(Linkage* linkage) {
data->BeginPhaseKind("lowering");
if (FLAG_concurrent_typed_lowering) {
// Type the graph and keep the Typer running such that new nodes get
// automatically typed when they are created.
Run<TyperPhase>(data->CreateTyper());
RunPrintAndVerify(TyperPhase::phase_name());
Run<TypedLoweringPhase>();
RunPrintAndVerify(TypedLoweringPhase::phase_name());
data->DeleteTyper();
}
// Type the graph and keep the Typer running such that new nodes get
// automatically typed when they are created.
Run<TyperPhase>(data->CreateTyper());
RunPrintAndVerify(TyperPhase::phase_name());
Run<TypedLoweringPhase>();
RunPrintAndVerify(TypedLoweringPhase::phase_name());
data->DeleteTyper();
if (data->info()->is_loop_peeling_enabled()) {
Run<LoopPeelingPhase>();
@ -2580,7 +2570,7 @@ std::ostream& operator<<(std::ostream& out, const BlockStartsAsJSON& s) {
MaybeHandle<Code> PipelineImpl::FinalizeCode() {
PipelineData* data = this->data_;
if (data->broker() && FLAG_concurrent_typed_lowering) {
if (data->broker()) {
data->broker()->Retire();
}
Run<FinalizeCodePhase>();

View File

@ -379,13 +379,8 @@ DEFINE_INT(concurrent_recompilation_delay, 0,
"artificial compilation delay in ms")
DEFINE_BOOL(block_concurrent_recompilation, false,
"block queued jobs until released")
DEFINE_BOOL(
concurrent_typed_lowering, true,
"run optimizing compiler's typed lowering phase on a separate thread")
DEFINE_IMPLICATION(future, concurrent_typed_lowering)
DEFINE_BOOL(concurrent_inlining, false,
"run optimizing compiler's inlining phase on a separate thread")
DEFINE_IMPLICATION(concurrent_inlining, concurrent_typed_lowering)
DEFINE_BOOL(strict_heap_broker, false, "fail on incomplete serialization")
DEFINE_BOOL(trace_heap_broker, false, "trace the heap broker")

View File

@ -108,11 +108,6 @@ void ContextSpecializationTester::CheckContextInputAndDepthChanges(
static const int slot_index = Context::NATIVE_CONTEXT_INDEX;
TEST(ReduceJSLoadContext0) {
// TODO(neis): The native context below does not have all the fields
// initialized that the heap broker wants to serialize.
bool concurrent_typed_lowering = FLAG_concurrent_typed_lowering;
FLAG_concurrent_typed_lowering = false;
ContextSpecializationTester t(Nothing<OuterContext>());
Node* start = t.graph()->NewNode(t.common()->Start(0));
@ -177,8 +172,6 @@ TEST(ReduceJSLoadContext0) {
CHECK(match.HasValue());
CHECK_EQ(*expected, *match.Value());
}
FLAG_concurrent_typed_lowering = concurrent_typed_lowering;
}
TEST(ReduceJSLoadContext1) {
@ -256,11 +249,6 @@ TEST(ReduceJSLoadContext2) {
// context2 <-- context1 <-- context0 (= HeapConstant(context_object1))
// context_object1 <~~ context_object0
// TODO(neis): The native context below does not have all the fields
// initialized that the heap broker wants to serialize.
bool concurrent_typed_lowering = FLAG_concurrent_typed_lowering;
FLAG_concurrent_typed_lowering = false;
ContextSpecializationTester t(Nothing<OuterContext>());
Node* start = t.graph()->NewNode(t.common()->Start(0));
@ -331,8 +319,6 @@ TEST(ReduceJSLoadContext2) {
t.javascript()->LoadContext(3, slot_index, true), context2, start);
t.CheckChangesToValue(load, slot_value0);
}
FLAG_concurrent_typed_lowering = concurrent_typed_lowering;
}
TEST(ReduceJSLoadContext3) {
@ -342,11 +328,6 @@ TEST(ReduceJSLoadContext3) {
// context_object2 from ReduceJSLoadContext2 for this, so almost all test
// expectations are the same as in ReduceJSLoadContext2.
// TODO(neis): The native context below does not have all the fields
// initialized that the heap broker wants to serialize.
bool concurrent_typed_lowering = FLAG_concurrent_typed_lowering;
FLAG_concurrent_typed_lowering = false;
HandleAndZoneScope handle_zone_scope;
auto factory = handle_zone_scope.main_isolate()->factory();
@ -421,16 +402,9 @@ TEST(ReduceJSLoadContext3) {
t.javascript()->LoadContext(3, slot_index, true), context2, start);
t.CheckChangesToValue(load, slot_value0);
}
FLAG_concurrent_typed_lowering = concurrent_typed_lowering;
}
TEST(ReduceJSStoreContext0) {
// TODO(neis): The native context below does not have all the fields
// initialized that the heap broker wants to serialize.
bool concurrent_typed_lowering = FLAG_concurrent_typed_lowering;
FLAG_concurrent_typed_lowering = false;
ContextSpecializationTester t(Nothing<OuterContext>());
Node* start = t.graph()->NewNode(t.common()->Start(0));
@ -490,8 +464,6 @@ TEST(ReduceJSStoreContext0) {
CHECK_EQ(0, static_cast<int>(access.depth()));
CHECK_EQ(false, access.immutable());
}
FLAG_concurrent_typed_lowering = concurrent_typed_lowering;
}
TEST(ReduceJSStoreContext1) {
@ -539,11 +511,6 @@ TEST(ReduceJSStoreContext1) {
}
TEST(ReduceJSStoreContext2) {
// TODO(neis): The native context below does not have all the fields
// initialized that the heap broker wants to serialize.
bool concurrent_typed_lowering = FLAG_concurrent_typed_lowering;
FLAG_concurrent_typed_lowering = false;
ContextSpecializationTester t(Nothing<OuterContext>());
Node* start = t.graph()->NewNode(t.common()->Start(0));
@ -594,16 +561,9 @@ TEST(ReduceJSStoreContext2) {
context2, context2, start, start);
t.CheckContextInputAndDepthChanges(store, context_object0, 0);
}
FLAG_concurrent_typed_lowering = concurrent_typed_lowering;
}
TEST(ReduceJSStoreContext3) {
// TODO(neis): The native context below does not have all the fields
// initialized that the heap broker wants to serialize.
bool concurrent_typed_lowering = FLAG_concurrent_typed_lowering;
FLAG_concurrent_typed_lowering = false;
HandleAndZoneScope handle_zone_scope;
auto factory = handle_zone_scope.main_isolate()->factory();
@ -658,8 +618,6 @@ TEST(ReduceJSStoreContext3) {
context2, context2, start, start);
t.CheckContextInputAndDepthChanges(store, context_object0, 0);
}
FLAG_concurrent_typed_lowering = concurrent_typed_lowering;
}
TEST(SpecializeJSFunction_ToConstant1) {

View File

@ -22,9 +22,7 @@ class JSCallReducerTest : public TypedGraphTest {
public:
JSCallReducerTest()
: TypedGraphTest(3), javascript_(zone()), deps_(isolate(), zone()) {
if (FLAG_concurrent_typed_lowering) {
broker()->SerializeStandardObjects();
}
broker()->SerializeStandardObjects();
}
~JSCallReducerTest() override = default;