diff options
author | 2023-11-17 14:30:30 +0000 | |
---|---|---|
committer | 2023-11-17 17:20:41 +0000 | |
commit | 5a3271d7caafefd10a20f5a5db09d2c178838b76 (patch) | |
tree | 46669e8c84a8086a4ca3e50ebe6e28890ee1e9de /compiler/optimizing/write_barrier_elimination.cc | |
parent | cac08ecc868cc9b0b378cf380b1a18185708f4ca (diff) |
Disable write-barrier elimination pass
We are able to break the `no missing card marks` of the in manual
testing with write-barrier elimination. The invariant requires
that no clean card shall contain any newly allocated object's
reference in it.
Test: manual to confirm bug
Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b
Bug: 301833859
Bug: 310755375
Bug: 311607333
Change-Id: I91a7f9cbb3e10c5495c543802414bffb89fbbb9a
Diffstat (limited to 'compiler/optimizing/write_barrier_elimination.cc')
-rw-r--r-- | compiler/optimizing/write_barrier_elimination.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/optimizing/write_barrier_elimination.cc b/compiler/optimizing/write_barrier_elimination.cc index eb70b670fe..6182125b74 100644 --- a/compiler/optimizing/write_barrier_elimination.cc +++ b/compiler/optimizing/write_barrier_elimination.cc @@ -21,6 +21,9 @@ #include "base/scoped_arena_containers.h" #include "optimizing/nodes.h" +// TODO(b/310755375, solanes): Disable WBE while we investigate crashes. +constexpr bool kWBEEnabled = false; + namespace art HIDDEN { class WBEVisitor final : public HGraphVisitor { @@ -153,8 +156,10 @@ class WBEVisitor final : public HGraphVisitor { }; bool WriteBarrierElimination::Run() { - WBEVisitor wbe_visitor(graph_, stats_); - wbe_visitor.VisitReversePostOrder(); + if (kWBEEnabled) { + WBEVisitor wbe_visitor(graph_, stats_); + wbe_visitor.VisitReversePostOrder(); + } return true; } |