Add JNI monitoring to `artQuickGenericJniTrampoline()`.
Test: m test-art-host-gtest
Test: testrunner.py --host --interpreter --interp-ac
Bug: 172332525
Change-Id: I700ec7711b831e0079999ed12ff67861321e11d3
diff --git a/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc b/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
index cfcf10e..67522c1 100644
--- a/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
+++ b/runtime/entrypoints/quick/quick_trampoline_entrypoints.cc
@@ -2134,7 +2134,11 @@
return nullptr; // Report error.
}
}
- artJniMethodStart(self);
+ if (UNLIKELY(self->ReadFlag(ThreadFlag::kMonitorJniEntryExit))) {
+ artJniMonitoredMethodStart(self);
+ } else {
+ artJniMethodStart(self);
+ }
} else {
DCHECK(!called->IsSynchronized())
<< "@FastNative/@CriticalNative and synchronize is not supported";