diff options
Diffstat (limited to 'runtime/oat_file.h')
-rw-r--r-- | runtime/oat_file.h | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/runtime/oat_file.h b/runtime/oat_file.h index ba1c120761..e9f7edca61 100644 --- a/runtime/oat_file.h +++ b/runtime/oat_file.h @@ -24,11 +24,12 @@ #include "base/array_ref.h" #include "base/mutex.h" #include "base/stringpiece.h" +#include "class_status.h" #include "compiler_filter.h" -#include "dex_file.h" -#include "dex_file_layout.h" +#include "dex/dex_file.h" +#include "dex/dex_file_layout.h" #include "index_bss_mapping.h" -#include "mirror/class.h" +#include "mirror/object.h" #include "oat.h" #include "os.h" #include "type_lookup_table.h" @@ -114,9 +115,9 @@ class OatFile { const char* abs_dex_location, std::string* error_msg); - // Return the debug info offset of the code item `item` located in `dex_file`. - static uint32_t GetDebugInfoOffset(const DexFile& dex_file, - const DexFile::CodeItem* item); + // Return the actual debug info offset for an offset that might be actually pointing to + // dequickening info. The returned debug info offset is the one originally in the the dex file. + static uint32_t GetDebugInfoOffset(const DexFile& dex_file, uint32_t debug_info_off); virtual ~OatFile(); @@ -196,7 +197,7 @@ class OatFile { class OatClass FINAL { public: - mirror::Class::Status GetStatus() const { + ClassStatus GetStatus() const { return status_; } @@ -224,7 +225,7 @@ class OatFile { // See FindOatClass(). static OatClass Invalid() { return OatClass(/* oat_file */ nullptr, - mirror::Class::kStatusErrorUnresolved, + ClassStatus::kErrorUnresolved, kOatClassNoneCompiled, /* bitmap_size */ 0, /* bitmap_pointer */ nullptr, @@ -233,7 +234,7 @@ class OatFile { private: OatClass(const OatFile* oat_file, - mirror::Class::Status status, + ClassStatus status, OatClassType type, uint32_t bitmap_size, const uint32_t* bitmap_pointer, @@ -241,7 +242,7 @@ class OatFile { const OatFile* const oat_file_; - const mirror::Class::Status status_; + const ClassStatus status_; const OatClassType type_; @@ -331,11 +332,6 @@ class OatFile { return vdex_.get(); } - // Whether the OatFile embeds the Dex code. - bool ContainsDexCode() const { - return uncompressed_dex_files_ == nullptr; - } - protected: OatFile(const std::string& filename, bool executable); @@ -407,10 +403,6 @@ class OatFile { // elements. std::list<> and std::deque<> satisfy this requirement, std::vector<> doesn't. mutable std::list<std::string> string_cache_ GUARDED_BY(secondary_lookup_lock_); - // Cache of dex files mapped directly from a location, in case the OatFile does - // not embed the dex code. - std::unique_ptr<std::vector<std::unique_ptr<const DexFile>>> uncompressed_dex_files_; - friend class gc::collector::DummyOatFile; // For modifying begin_ and end_. friend class OatClass; friend class art::OatDexFile; |