summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Santiago Aboy Solanes <solanes@google.com> 2023-11-17 14:30:30 +0000
committer Santiago Aboy Solanes <solanes@google.com> 2023-11-17 17:20:41 +0000
commit5a3271d7caafefd10a20f5a5db09d2c178838b76 (patch)
tree46669e8c84a8086a4ca3e50ebe6e28890ee1e9de
parentcac08ecc868cc9b0b378cf380b1a18185708f4ca (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
-rw-r--r--TEST_MAPPING9
-rw-r--r--compiler/optimizing/write_barrier_elimination.cc9
-rw-r--r--test/2247-checker-write-barrier-elimination/Android.bp2
-rw-r--r--test/knownfailures.json5
-rwxr-xr-xtest/utils/regen-test-files4
5 files changed, 16 insertions, 13 deletions
diff --git a/TEST_MAPPING b/TEST_MAPPING
index 8b6d5d46e2..d315a4a303 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -452,9 +452,6 @@
"name": "art-run-test-2244-checker-remove-try-boundary[com.google.android.art.apex]"
},
{
- "name": "art-run-test-2247-checker-write-barrier-elimination[com.google.android.art.apex]"
- },
- {
"name": "art-run-test-2249-checker-return-try-boundary-exit-in-loop[com.google.android.art.apex]"
},
{
@@ -1883,9 +1880,6 @@
"name": "art-run-test-2244-checker-remove-try-boundary"
},
{
- "name": "art-run-test-2247-checker-write-barrier-elimination"
- },
- {
"name": "art-run-test-2249-checker-return-try-boundary-exit-in-loop"
},
{
@@ -3301,9 +3295,6 @@
"name": "art-run-test-2244-checker-remove-try-boundary"
},
{
- "name": "art-run-test-2247-checker-write-barrier-elimination"
- },
- {
"name": "art-run-test-2249-checker-return-try-boundary-exit-in-loop"
},
{
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;
}
diff --git a/test/2247-checker-write-barrier-elimination/Android.bp b/test/2247-checker-write-barrier-elimination/Android.bp
index c9744e9b00..5848cb496e 100644
--- a/test/2247-checker-write-barrier-elimination/Android.bp
+++ b/test/2247-checker-write-barrier-elimination/Android.bp
@@ -15,7 +15,7 @@ package {
java_test {
name: "art-run-test-2247-checker-write-barrier-elimination",
defaults: ["art-run-test-defaults"],
- test_config_template: ":art-run-test-target-template",
+ test_config_template: ":art-run-test-target-no-test-suite-tag-template",
srcs: ["src/**/*.java"],
data: [
":art-run-test-2247-checker-write-barrier-elimination-expected-stdout",
diff --git a/test/knownfailures.json b/test/knownfailures.json
index 45b07a1cac..275e010640 100644
--- a/test/knownfailures.json
+++ b/test/knownfailures.json
@@ -1,5 +1,10 @@
[
{
+ "tests": "2247-checker-write-barrier-elimination",
+ "description": ["Disable 2247- until we fix the WBE issue."],
+ "bug": "http://b/310755375"
+ },
+ {
"tests": "153-reference-stress",
"description": ["Disable 153-reference-stress temporarily until a fix",
"arrives."],
diff --git a/test/utils/regen-test-files b/test/utils/regen-test-files
index 13927999bc..3d2586bf64 100755
--- a/test/utils/regen-test-files
+++ b/test/utils/regen-test-files
@@ -215,7 +215,9 @@ known_failing_tests = frozenset([
"993-breakpoints-non-debuggable",
"2243-single-step-default",
"2262-miranda-methods",
- "2262-default-conflict-methods"
+ "2262-default-conflict-methods",
+ # 2247-checker-write-barrier-elimination: Disabled while we investigate failures
+ "2247-checker-write-barrier-elimination"
])
# These tests are new and have not had enough post-submit runs to meet