ARM64: Disable implicit suspend checks, again.
While we mitigated memory regressions caused by implicit
suspend checks, other changes caused further regressions.
Disable implicit suspend checks for now to demonstrate that
they are not causing memory regressions anymore and also to
facilitate search for the other regression.
Test: Rely on Presubmit tests.
Bug: 38383823
Bug: 213757852
Change-Id: I5c278a875ee1dd910b88f8728a3e89cb15d5958a
diff --git a/dex2oat/dex2oat.cc b/dex2oat/dex2oat.cc
index b8271d8..2d78590 100644
--- a/dex2oat/dex2oat.cc
+++ b/dex2oat/dex2oat.cc
@@ -833,7 +833,9 @@
// Set the compilation target's implicit checks options.
switch (compiler_options_->GetInstructionSet()) {
case InstructionSet::kArm64:
- compiler_options_->implicit_suspend_checks_ = true;
+ // TODO: Implicit suspend checks are currently disabled to facilitate search
+ // for unrelated memory use regressions. Bug: 213757852.
+ compiler_options_->implicit_suspend_checks_ = false;
FALLTHROUGH_INTENDED;
case InstructionSet::kArm:
case InstructionSet::kThumb2:
diff --git a/runtime/oat.h b/runtime/oat.h
index 7e5e7e9..30f7264 100644
--- a/runtime/oat.h
+++ b/runtime/oat.h
@@ -32,8 +32,8 @@
class PACKED(4) OatHeader {
public:
static constexpr std::array<uint8_t, 4> kOatMagic { { 'o', 'a', 't', '\n' } };
- // Last oat version changed reason: bump version after compiler/runtime bug.
- static constexpr std::array<uint8_t, 4> kOatVersion { { '2', '2', '0', '\0' } };
+ // Last oat version changed reason: ARM64: Disable implicit suspend checks, again.
+ static constexpr std::array<uint8_t, 4> kOatVersion { { '2', '2', '1', '\0' } };
static constexpr const char* kDex2OatCmdLineKey = "dex2oat-cmdline";
static constexpr const char* kDebuggableKey = "debuggable";
diff --git a/runtime/runtime.cc b/runtime/runtime.cc
index 54e9d38..07b992d 100644
--- a/runtime/runtime.cc
+++ b/runtime/runtime.cc
@@ -1663,7 +1663,9 @@
// Change the implicit checks flags based on runtime architecture.
switch (kRuntimeISA) {
case InstructionSet::kArm64:
- implicit_suspend_checks_ = true;
+ // TODO: Implicit suspend checks are currently disabled to facilitate search
+ // for unrelated memory use regressions. Bug: 213757852.
+ implicit_suspend_checks_ = false;
FALLTHROUGH_INTENDED;
case InstructionSet::kArm:
case InstructionSet::kThumb2: