Make native GC-root updation concurrent with userfaultfd

Additionally also uses userfaultfd's minor-fault feature for moving
space.

Bug: 160737021
Test: ART_USE_READ_BARRIER=false art/test/testrunner/testrunner.py and module install
Change-Id: I98b0c69fba4aec1263b1f38cc9f31494fd5c8cf5
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 7a68863..dc2ccb4 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -3515,7 +3515,7 @@
   }
 
   // Method shouldn't have already been linked.
-  DCHECK(method->GetEntryPointFromQuickCompiledCode() == nullptr);
+  DCHECK_EQ(method->GetEntryPointFromQuickCompiledCode(), nullptr);
   DCHECK(!method->GetDeclaringClass()->IsVisiblyInitialized());  // Actually ClassStatus::Idx.
 
   if (!method->IsInvokable()) {