Use named constant instead of magic number in RegisterLine

Test: host
Change-Id: I61a8cd8378c9fd6eeafffe2a01fa38f25c01dca8
diff --git a/runtime/verifier/register_line.cc b/runtime/verifier/register_line.cc
index ea30e05..1bbf5a6 100644
--- a/runtime/verifier/register_line.cc
+++ b/runtime/verifier/register_line.cc
@@ -148,7 +148,9 @@
     result += StringPrintf("{%d},", monitor);
   }
   for (auto& pairs : reg_to_lock_depths_) {
-    result += StringPrintf("<%d -> %x>", pairs.first, pairs.second);
+    result += StringPrintf("<%d -> %" PRIx64 ">",
+                           pairs.first,
+                           static_cast<uint64_t>(pairs.second));
   }
   return result;
 }
@@ -337,7 +339,7 @@
   if (!reg_type.IsReferenceTypes()) {
     verifier->Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "monitor-enter on non-object ("
         << reg_type << ")";
-  } else if (monitors_.size() >= 32) {
+  } else if (monitors_.size() >= kMaxMonitorStackDepth) {
     verifier->Fail(VERIFY_ERROR_LOCKING);
     if (kDumpLockFailures) {
       VLOG(verifier) << "monitor-enter stack overflow while verifying "
diff --git a/runtime/verifier/register_line.h b/runtime/verifier/register_line.h
index 168eb7b..9bb60bb 100644
--- a/runtime/verifier/register_line.h
+++ b/runtime/verifier/register_line.h
@@ -17,6 +17,7 @@
 #ifndef ART_RUNTIME_VERIFIER_REGISTER_LINE_H_
 #define ART_RUNTIME_VERIFIER_REGISTER_LINE_H_
 
+#include <limits>
 #include <memory>
 #include <vector>
 
@@ -62,8 +63,14 @@
 // stack of entered monitors (identified by code unit offset).
 class RegisterLine {
  public:
+  using RegisterStackMask = uint32_t;
   // A map from register to a bit vector of indices into the monitors_ stack.
-  using RegToLockDepthsMap = ScopedArenaSafeMap<uint32_t, uint32_t>;
+  using RegToLockDepthsMap = ScopedArenaSafeMap<uint32_t, RegisterStackMask>;
+
+  // Maximum number of nested monitors to track before giving up and
+  // taking the slow path.
+  static constexpr size_t kMaxMonitorStackDepth =
+      std::numeric_limits<RegisterStackMask>::digits;
 
   // Create a register line of num_regs registers.
   static RegisterLine* Create(size_t num_regs, MethodVerifier* verifier);
@@ -391,7 +398,7 @@
   }
 
   bool SetRegToLockDepth(size_t reg, size_t depth) {
-    CHECK_LT(depth, 32u);
+    CHECK_LT(depth, kMaxMonitorStackDepth);
     if (IsSetLockDepth(reg, depth)) {
       return false;  // Register already holds lock so locking twice is erroneous.
     }