[vm, gc] Remove flag to disable write barrier elimination.

- This causes inconsistency between AppJIT trained kernel service including eliminating barriers but the runtime compensation being disabled.
 - The barrier elimination in the SuspendState stubs cannot be disabled.

TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/52990
Change-Id: I4c5c7817a51f303d6f3bdbea8c15ad23a3e57735
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/319906
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
This commit is contained in:
Ryan Macnak
2023-08-11 17:56:57 +00:00
committed by Commit Queue
parent f3acac0b5a
commit f763d12190
15 changed files with 1 additions and 20 deletions
@@ -6,7 +6,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// Stress test for write barrier elimination that leaves many stores with
@@ -6,7 +6,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// Stress test for write barrier elimination that leaves many stores with
@@ -27,7 +27,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// VMOptions=--old_gen_heap_size=150
@@ -27,7 +27,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// VMOptions=--old_gen_heap_size=150
@@ -29,7 +29,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// VMOptions=--old_gen_heap_size=150
-1
View File
@@ -27,7 +27,6 @@
// VMOptions=--profiler --verify_store_buffer
// VMOptions=--profiler --verify_after_marking
// VMOptions=--profiler --stress_write_barrier_elimination
// VMOptions=--profiler --no_eliminate_write_barriers
// VMOptions=--profiler --no_inline_alloc
// VMOptions=--profiler --old_gen_heap_size=100
// VMOptions=--profiler --mark_when_idle
@@ -27,7 +27,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// VMOptions=--old_gen_heap_size=150
@@ -31,7 +31,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// VMOptions=--old_gen_heap_size=150
@@ -31,7 +31,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// VMOptions=--old_gen_heap_size=150
@@ -33,7 +33,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// VMOptions=--old_gen_heap_size=150
@@ -31,7 +31,6 @@
// VMOptions=--profiler --verify_store_buffer
// VMOptions=--profiler --verify_after_marking
// VMOptions=--profiler --stress_write_barrier_elimination
// VMOptions=--profiler --no_eliminate_write_barriers
// VMOptions=--profiler --no_inline_alloc
// VMOptions=--profiler --old_gen_heap_size=100
// VMOptions=--profiler --mark_when_idle
@@ -31,7 +31,6 @@
// VMOptions=--verify_store_buffer
// VMOptions=--verify_after_marking
// VMOptions=--stress_write_barrier_elimination
// VMOptions=--no_eliminate_write_barriers
// VMOptions=--no_inline_alloc
// VMOptions=--old_gen_heap_size=150
+1 -5
View File
@@ -585,11 +585,7 @@ COMPILER_PASS(ReorderBlocks, {
}
});
COMPILER_PASS(EliminateWriteBarriers, {
if (FLAG_eliminate_write_barriers) {
EliminateWriteBarriers(flow_graph);
}
});
COMPILER_PASS(EliminateWriteBarriers, { EliminateWriteBarriers(flow_graph); });
COMPILER_PASS(FinalizeGraph, {
// At the end of the pipeline, force recomputing and caching graph
-2
View File
@@ -246,8 +246,6 @@ constexpr bool FLAG_support_il_printer = false;
"Enable magical pragmas for testing purposes. Use at your own risk!") \
R(eliminate_type_checks, true, bool, true, \
"Eliminate type checks when allowed by static type analysis.") \
P(eliminate_write_barriers, bool, true, \
"Eliminate write barriers when allowed by allocation invariants.") \
D(support_rr, bool, false, "Support running within RR.") \
P(verify_entry_points, bool, false, \
"Throw API error on invalid member access through native API. See " \
-1
View File
@@ -1023,7 +1023,6 @@ class RestoreWriteBarrierInvariantVisitor : public ObjectPointerVisitor {
void Thread::RestoreWriteBarrierInvariant(RestoreWriteBarrierInvariantOp op) {
ASSERT(IsAtSafepoint() || OwnsGCSafepoint());
ASSERT(IsDartMutatorThread());
if (!FLAG_eliminate_write_barriers) return;
const StackFrameIterator::CrossThreadPolicy cross_thread_policy =
StackFrameIterator::kAllowCrossThreadIteration;