summaryrefslogtreecommitdiffstats
path: root/runtime/oat_file.h
diff options
context:
space:
mode:
authorDavid Srbecky <dsrbecky@google.com>2018-01-10 13:57:04 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-01-10 13:57:04 +0000
commitf4bf58d9b13972117c640ea1d7bfa6e6dfc189ea (patch)
treea6bdf10f36796c1924e9dca6bfcf1477269c8073 /runtime/oat_file.h
parentd6b7e8c63f8eca25460f56f66dcae15eaa897ff0 (diff)
parentec2cdf4286921131a5f9b3ed12060657ec40f636 (diff)
downloadart-f4bf58d9b13972117c640ea1d7bfa6e6dfc189ea.tar.gz
art-f4bf58d9b13972117c640ea1d7bfa6e6dfc189ea.tar.bz2
art-f4bf58d9b13972117c640ea1d7bfa6e6dfc189ea.zip
Merge "Try to mmap vdex file within the address range of the ELF file."
Diffstat (limited to 'runtime/oat_file.h')
-rw-r--r--runtime/oat_file.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/runtime/oat_file.h b/runtime/oat_file.h
index 02318b68b7..e9f7edca61 100644
--- a/runtime/oat_file.h
+++ b/runtime/oat_file.h
@@ -279,6 +279,10 @@ class OatFile {
return BssEnd() - BssBegin();
}
+ size_t VdexSize() const {
+ return VdexEnd() - VdexBegin();
+ }
+
size_t BssMethodsOffset() const {
// Note: This is used only for symbolizer and needs to return a valid .bss offset.
return (bss_methods_ != nullptr) ? bss_methods_ - BssBegin() : BssRootsOffset();
@@ -299,6 +303,9 @@ class OatFile {
const uint8_t* BssBegin() const;
const uint8_t* BssEnd() const;
+ const uint8_t* VdexBegin() const;
+ const uint8_t* VdexEnd() const;
+
const uint8_t* DexBegin() const;
const uint8_t* DexEnd() const;
@@ -358,6 +365,12 @@ class OatFile {
// Was this oat_file loaded executable?
const bool is_executable_;
+ // Pointer to the .vdex section, if present, otherwise null.
+ uint8_t* vdex_begin_;
+
+ // Pointer to the end of the .vdex section, if present, otherwise null.
+ uint8_t* vdex_end_;
+
// Owning storage for the OatDexFile objects.
std::vector<const OatDexFile*> oat_dex_files_storage_;