diff options
author | 2023-11-17 14:30:30 +0000 | |
---|---|---|
committer | 2023-11-17 17:20:41 +0000 | |
commit | 5a3271d7caafefd10a20f5a5db09d2c178838b76 (patch) | |
tree | 46669e8c84a8086a4ca3e50ebe6e28890ee1e9de | |
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
-rw-r--r-- | TEST_MAPPING | 9 | ||||
-rw-r--r-- | compiler/optimizing/write_barrier_elimination.cc | 9 | ||||
-rw-r--r-- | test/2247-checker-write-barrier-elimination/Android.bp | 2 | ||||
-rw-r--r-- | test/knownfailures.json | 5 | ||||
-rwxr-xr-x | test/utils/regen-test-files | 4 |
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 |