Revert "Fix an outstanding compaction bug in interpreter."
This reverts commit e09ae0920be57760fb390b6944bce420fa0b5582.
Change-Id: I48036306130d5ccfec683d0dc3e9a642a02ee9c1
diff --git a/runtime/handle.h b/runtime/handle.h
index c4e9285..3127864 100644
--- a/runtime/handle.h
+++ b/runtime/handle.h
@@ -53,43 +53,29 @@
reference_->Assign(reference);
return old;
}
- jobject ToJObject() const SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) ALWAYS_INLINE {
- if (UNLIKELY(reference_->AsMirrorPtr() == nullptr)) {
- // Special case so that we work with NullHandles.
- return nullptr;
- }
+ jobject ToJObject() const ALWAYS_INLINE {
return reinterpret_cast<jobject>(reference_);
}
- protected:
+ private:
StackReference<T>* reference_;
template<typename S>
explicit Handle(StackReference<S>* reference)
: reference_(reinterpret_cast<StackReference<T>*>(reference)) {
}
+
template<typename S>
explicit Handle(const Handle<S>& handle)
: reference_(reinterpret_cast<StackReference<T>*>(handle.reference_)) {
}
- private:
template<class S> friend class Handle;
friend class HandleScope;
template<class S> friend class HandleWrapper;
template<size_t kNumReferences> friend class StackHandleScope;
};
-template<class T>
-class NullHandle : public Handle<T> {
- public:
- NullHandle() : Handle<T>(&null_ref_) {
- }
-
- private:
- StackReference<T> null_ref_;
-};
-
} // namespace art
#endif // ART_RUNTIME_HANDLE_H_