ART: Fix allocation tracking

Follow-up to commit 1b35b469e0e8a70d9fd3f6c22d7e828b044c0df8.

Bug: 67044702
Test: m test-art-host
Change-Id: Ie1149c9070ba9dbf07988d4634f20012318704f0
diff --git a/runtime/java_vm_ext.cc b/runtime/java_vm_ext.cc
index a72fa54..73746e1 100644
--- a/runtime/java_vm_ext.cc
+++ b/runtime/java_vm_ext.cc
@@ -617,7 +617,7 @@
         ScopedThreadSuspension sts(soa.Self(), ThreadState::kNative);
         gc::AllocRecordObjectMap::SetAllocTrackingEnabled(false);
       }
-      allocation_tracking_enabled_ = true;
+      allocation_tracking_enabled_ = false;
     }
   }
 }
diff --git a/runtime/java_vm_ext_test.cc b/runtime/java_vm_ext_test.cc
index 5db493b..a15ec56 100644
--- a/runtime/java_vm_ext_test.cc
+++ b/runtime/java_vm_ext_test.cc
@@ -163,6 +163,19 @@
 
   EXPECT_FALSE(Runtime::Current()->GetHeap()->IsAllocTrackingEnabled());
 
+  global_refs_.clear();
+  for (size_t i = 0; i < 2000; ++i) {
+    global_refs_.push_back(env->NewGlobalRef(local_ref));
+  }
+
+  EXPECT_TRUE(Runtime::Current()->GetHeap()->IsAllocTrackingEnabled());
+
+  for (jobject global_ref : global_refs_) {
+    env->DeleteGlobalRef(global_ref);
+  }
+
+  EXPECT_FALSE(Runtime::Current()->GetHeap()->IsAllocTrackingEnabled());
+
   ok = vm_->DetachCurrentThread();
   EXPECT_EQ(JNI_OK, ok);
 }