Re-enable UFFD GC for the February train, but with a different flag.
Test: Presubmit
Merged-In: I163f808399eb27393e00dbb149d5941ff3db277f
Change-Id: I5f8ea63d75f48dddac625c3a675795b278a8e105
diff --git a/odrefresh/odr_config.h b/odrefresh/odr_config.h
index 5c3f4ee..fab50e9 100644
--- a/odrefresh/odr_config.h
+++ b/odrefresh/odr_config.h
@@ -68,6 +68,9 @@
const android::base::NoDestructor<std::vector<SystemPropertyConfig>> kSystemProperties{
{SystemPropertyConfig{.name = "persist.device_config.runtime_native_boot.enable_uffd_gc",
.default_value = "false"},
+ SystemPropertyConfig{
+ .name = "persist.device_config.runtime_native_boot.enable_uffd_gc_feb2023",
+ .default_value = "false"},
SystemPropertyConfig{.name = kPhDisableCompactDex, .default_value = "false"}}};
// An enumeration of the possible zygote configurations on Android.
diff --git a/runtime/gc/collector/mark_compact.cc b/runtime/gc/collector/mark_compact.cc
index 4f16ca1..e1967e3 100644
--- a/runtime/gc/collector/mark_compact.cc
+++ b/runtime/gc/collector/mark_compact.cc
@@ -137,7 +137,10 @@
return gc_type;
}
-static bool SysPropSaysUffdGc() { return false; }
+static bool SysPropSaysUffdGc() {
+ return GetBoolProperty("persist.device_config.runtime_native_boot.enable_uffd_gc_feb2023",
+ GetBoolProperty("ro.dalvik.vm.enable_uffd_gc", false));
+}
static bool ShouldUseUserfaultfd() {
static_assert(kUseBakerReadBarrier || kUseTableLookupReadBarrier);