diff options
Diffstat (limited to 'runtime/handle_scope.h')
-rw-r--r-- | runtime/handle_scope.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/runtime/handle_scope.h b/runtime/handle_scope.h index 89127e4cf3..a43e889111 100644 --- a/runtime/handle_scope.h +++ b/runtime/handle_scope.h @@ -56,6 +56,9 @@ class PACKED(4) BaseHandleScope { template <typename Visitor> ALWAYS_INLINE void VisitRoots(Visitor& visitor) REQUIRES_SHARED(Locks::mutator_lock_); + template <typename Visitor> + ALWAYS_INLINE void VisitHandles(Visitor& visitor) REQUIRES_SHARED(Locks::mutator_lock_); + // Link to previous BaseHandleScope or null. BaseHandleScope* GetLink() const { return link_; @@ -148,6 +151,9 @@ class PACKED(4) HandleScope : public BaseHandleScope { template <typename Visitor> ALWAYS_INLINE void VisitRoots(Visitor& visitor) REQUIRES_SHARED(Locks::mutator_lock_); + template <typename Visitor> + ALWAYS_INLINE void VisitHandles(Visitor& visitor) REQUIRES_SHARED(Locks::mutator_lock_); + protected: // Return backing storage used for references. ALWAYS_INLINE StackReference<mirror::Object>* GetReferences() const { @@ -261,6 +267,9 @@ class VariableSizedHandleScope : public BaseHandleScope { template <typename Visitor> void VisitRoots(Visitor& visitor) REQUIRES_SHARED(Locks::mutator_lock_); + template <typename Visitor> + ALWAYS_INLINE void VisitHandles(Visitor& visitor) REQUIRES_SHARED(Locks::mutator_lock_); + private: static constexpr size_t kLocalScopeSize = 64u; static constexpr size_t kSizeOfReferencesPerScope = |