summaryrefslogtreecommitdiff
path: root/runtime/jni/java_vm_ext.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/jni/java_vm_ext.h')
-rw-r--r--runtime/jni/java_vm_ext.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/runtime/jni/java_vm_ext.h b/runtime/jni/java_vm_ext.h
index 50e84142d6..8fa716e0ae 100644
--- a/runtime/jni/java_vm_ext.h
+++ b/runtime/jni/java_vm_ext.h
@@ -27,6 +27,10 @@
namespace art {
+namespace linker {
+class ImageWriter;
+} // namespace linker
+
namespace mirror {
class Array;
} // namespace mirror
@@ -219,10 +223,7 @@ class JavaVMExt : public JavaVM {
JavaVMExt(Runtime* runtime, const RuntimeArgumentMap& runtime_options, std::string* error_msg);
// Return true if self can currently access weak globals.
- bool MayAccessWeakGlobalsUnlocked(Thread* self) const REQUIRES_SHARED(Locks::mutator_lock_);
- bool MayAccessWeakGlobals(Thread* self) const
- REQUIRES_SHARED(Locks::mutator_lock_)
- REQUIRES(Locks::jni_weak_globals_lock_);
+ bool MayAccessWeakGlobals(Thread* self) const REQUIRES_SHARED(Locks::mutator_lock_);
void WaitForWeakGlobalsAccess(Thread* self)
REQUIRES_SHARED(Locks::mutator_lock_)
@@ -281,7 +282,7 @@ class JavaVMExt : public JavaVM {
uint32_t global_ref_report_counter_ GUARDED_BY(Locks::jni_globals_lock_)
= kGlobalRefReportInterval;
-
+ friend class linker::ImageWriter; // Uses `globals_` and `weak_globals_` without read barrier.
friend IndirectReferenceTable* GetIndirectReferenceTable(ScopedObjectAccess& soa,
IndirectRefKind kind);