From 5a3271d7caafefd10a20f5a5db09d2c178838b76 Mon Sep 17 00:00:00 2001 From: Santiago Aboy Solanes Date: Fri, 17 Nov 2023 14:30:30 +0000 Subject: 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 --- compiler/optimizing/write_barrier_elimination.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'compiler/optimizing') 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; } -- cgit v1.2.3-59-g8ed1b