diff options
author | Mathieu Chartier <mathieuc@google.com> | 2014-05-07 15:43:14 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2014-05-13 14:45:54 -0700 |
commit | eb8167a4f4d27fce0530f6724ab8032610cd146b (patch) | |
tree | bcfeaf13ad78f2dd68466bbd0e20c71944f7e854 /runtime/dex_file.h | |
parent | 6fb66a2bc4e1c0b7931101153e58714991237af7 (diff) | |
download | android_art-eb8167a4f4d27fce0530f6724ab8032610cd146b.tar.gz android_art-eb8167a4f4d27fce0530f6724ab8032610cd146b.tar.bz2 android_art-eb8167a4f4d27fce0530f6724ab8032610cd146b.zip |
Add Handle/HandleScope and delete SirtRef.
Delete SirtRef and replaced it with Handle. Handles are value types
which wrap around StackReference*.
Renamed StackIndirectReferenceTable to HandleScope.
Added a scoped handle wrapper which wraps around an Object** and
restores it in its destructor.
Renamed Handle::get -> Get.
Bug: 8473721
Change-Id: Idbfebd4f35af629f0f43931b7c5184b334822c7a
Diffstat (limited to 'runtime/dex_file.h')
-rw-r--r-- | runtime/dex_file.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/runtime/dex_file.h b/runtime/dex_file.h index c782ab120c..cfa255589f 100644 --- a/runtime/dex_file.h +++ b/runtime/dex_file.h @@ -42,8 +42,7 @@ namespace mirror { } // namespace mirror class ClassLinker; class Signature; -template <typename T> -class SirtRef; +template<class T> class Handle; class StringPiece; class ZipArchive; @@ -1127,8 +1126,8 @@ class ClassDataItemIterator { class EncodedStaticFieldValueIterator { public: - EncodedStaticFieldValueIterator(const DexFile& dex_file, SirtRef<mirror::DexCache>* dex_cache, - SirtRef<mirror::ClassLoader>* class_loader, + EncodedStaticFieldValueIterator(const DexFile& dex_file, Handle<mirror::DexCache>* dex_cache, + Handle<mirror::ClassLoader>* class_loader, ClassLinker* linker, const DexFile::ClassDef& class_def) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); @@ -1163,8 +1162,8 @@ class EncodedStaticFieldValueIterator { static const byte kEncodedValueArgShift = 5; const DexFile& dex_file_; - SirtRef<mirror::DexCache>* const dex_cache_; // Dex cache to resolve literal objects. - SirtRef<mirror::ClassLoader>* const class_loader_; // ClassLoader to resolve types. + Handle<mirror::DexCache>* const dex_cache_; // Dex cache to resolve literal objects. + Handle<mirror::ClassLoader>* const class_loader_; // ClassLoader to resolve types. ClassLinker* linker_; // Linker to resolve literal objects. size_t array_size_; // Size of array. size_t pos_; // Current position. |