diff options
author | 2022-11-21 11:19:14 +0100 | |
---|---|---|
committer | 2022-11-21 13:33:42 +0000 | |
commit | 618159141b905d79cd424d88b8a2448ad339ce39 (patch) | |
tree | 844c9e484f8625473075c4d35d8c7f8e5ae08fe1 /runtime/jni/java_vm_ext.h | |
parent | dd1d13d3f75032d65e29488ecd0cadc9e897a7ad (diff) |
Clean up `IndirectReferenceTable` visiting.
Move weak global sweeping to the IRT class and clean up the
entry visiting to avoid the need for the `IrtIterator`.
Move `JNIEnvExt::UpdateLocal` to the `jni_env_ext-inl.h`
because it requires `indirect_reference_table-inl.h`.
Test: m test-art-host-gtest
Test: tesrunner.py --host --optimizing
Bug: 172332525
Change-Id: Ia96d31e0d8d701c93d7752bf76f633719a836f3f
Diffstat (limited to 'runtime/jni/java_vm_ext.h')
-rw-r--r-- | runtime/jni/java_vm_ext.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/runtime/jni/java_vm_ext.h b/runtime/jni/java_vm_ext.h index b97088aaf7..8d81af1ed5 100644 --- a/runtime/jni/java_vm_ext.h +++ b/runtime/jni/java_vm_ext.h @@ -165,7 +165,9 @@ class JavaVMExt : public JavaVM { void SweepJniWeakGlobals(IsMarkedVisitor* visitor) REQUIRES_SHARED(Locks::mutator_lock_) - REQUIRES(!Locks::jni_weak_globals_lock_); + REQUIRES(!Locks::jni_weak_globals_lock_) { + weak_globals_.SweepJniWeakGlobals(visitor); + } ObjPtr<mirror::Object> DecodeGlobal(IndirectRef ref) REQUIRES_SHARED(Locks::mutator_lock_); |