summaryrefslogtreecommitdiffstats
path: root/runtime/oat_file.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/oat_file.h')
-rw-r--r--runtime/oat_file.h30
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;