Disable kBssEntry LoadString sharpening.
We seem to fail to visit the BSS GC roots sometimes.
Bug: 32124939
Test: m test-art-host
Change-Id: I4724ced649042cbeb170cac9e8da8c5db168c8fc
(cherry picked from commit b55fdbb30b3bc4e334c241153b98c0a6ea4a4a2b)
diff --git a/compiler/optimizing/sharpening.cc b/compiler/optimizing/sharpening.cc
index c1cfe8d..df1b351 100644
--- a/compiler/optimizing/sharpening.cc
+++ b/compiler/optimizing/sharpening.cc
@@ -312,7 +312,8 @@
desired_load_kind = HLoadString::LoadKind::kBootImageAddress;
address = reinterpret_cast64<uint64_t>(string);
} else {
- desired_load_kind = HLoadString::LoadKind::kBssEntry;
+ // FIXME: Disabled because of BSS root visiting issues. Bug: 32124939
+ // desired_load_kind = HLoadString::LoadKind::kBssEntry;
}
}
}
diff --git a/test/552-checker-sharpening/src/Main.java b/test/552-checker-sharpening/src/Main.java
index 3c053cf..ff6ccd4 100644
--- a/test/552-checker-sharpening/src/Main.java
+++ b/test/552-checker-sharpening/src/Main.java
@@ -284,28 +284,29 @@
/// CHECK-START: java.lang.String Main.$noinline$getNonBootImageString() sharpening (before)
/// CHECK: LoadString load_kind:DexCacheViaMethod
- /// CHECK-START-X86: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
- /// CHECK: LoadString load_kind:BssEntry
+ // FIXME: Disabled because of BSS root visiting issues. Bug: 32124939
+ // CHECK-START-X86: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
+ // CHECK: LoadString load_kind:BssEntry
- /// CHECK-START-X86: java.lang.String Main.$noinline$getNonBootImageString() pc_relative_fixups_x86 (after)
- /// CHECK-DAG: X86ComputeBaseMethodAddress
- /// CHECK-DAG: LoadString load_kind:BssEntry
+ // CHECK-START-X86: java.lang.String Main.$noinline$getNonBootImageString() pc_relative_fixups_x86 (after)
+ // CHECK-DAG: X86ComputeBaseMethodAddress
+ // CHECK-DAG: LoadString load_kind:BssEntry
- /// CHECK-START-X86_64: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
- /// CHECK: LoadString load_kind:BssEntry
+ // CHECK-START-X86_64: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
+ // CHECK: LoadString load_kind:BssEntry
- /// CHECK-START-ARM: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
- /// CHECK: LoadString load_kind:BssEntry
+ // CHECK-START-ARM: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
+ // CHECK: LoadString load_kind:BssEntry
- /// CHECK-START-ARM64: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
- /// CHECK: LoadString load_kind:BssEntry
+ // CHECK-START-ARM64: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
+ // CHECK: LoadString load_kind:BssEntry
- /// CHECK-START-MIPS: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
- /// CHECK: LoadString load_kind:BssEntry
+ // CHECK-START-MIPS: java.lang.String Main.$noinline$getNonBootImageString() sharpening (after)
+ // CHECK: LoadString load_kind:BssEntry
- /// CHECK-START-MIPS: java.lang.String Main.$noinline$getNonBootImageString() pc_relative_fixups_mips (after)
- /// CHECK-DAG: MipsComputeBaseMethodAddress
- /// CHECK-DAG: LoadString load_kind:BssEntry
+ // CHECK-START-MIPS: java.lang.String Main.$noinline$getNonBootImageString() pc_relative_fixups_mips (after)
+ // CHECK-DAG: MipsComputeBaseMethodAddress
+ // CHECK-DAG: LoadString load_kind:BssEntry
public static String $noinline$getNonBootImageString() {
// Prevent inlining to avoid the string comparison being optimized away.