summaryrefslogtreecommitdiff
path: root/runtime/handle_scope.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/handle_scope.h')
-rw-r--r--runtime/handle_scope.h9
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 =