Special case JIT update for native methods.

The update might apply to ArtMethods that are going to be
unloaded, so ensure we don't do read barriers there.

Test: while ./art/test/run-test --host  --no-dex2oat --jit --host --no-prebuild \
        --compact-dex-level none --dex2oat-jobs 4 --no-relocate --runtime-option -Xcheck:jni \
        --build-with-javac-dx 674-hiddenapi ; do true; done

Change-Id: I95ec6107c65da25f4b98f7fb77647b3ab382a93f
diff --git a/runtime/instrumentation.h b/runtime/instrumentation.h
index da63152..46b3f8d 100644
--- a/runtime/instrumentation.h
+++ b/runtime/instrumentation.h
@@ -280,6 +280,10 @@
   void UpdateMethodsCode(ArtMethod* method, const void* quick_code)
       REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!deoptimized_methods_lock_);
 
+  // Update the code of a native method to a JITed stub.
+  void UpdateNativeMethodsCodeToJitCode(ArtMethod* method, const void* quick_code)
+      REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!deoptimized_methods_lock_);
+
   // Update the code of a method to the interpreter respecting any installed stubs from debugger.
   void UpdateMethodsCodeToInterpreterEntryPoint(ArtMethod* method)
       REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!deoptimized_methods_lock_);