[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:
committed by
Commit Queue
parent
f3acac0b5a
commit
f763d12190
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 " \
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user