diff options
Diffstat (limited to 'runtime/oat.cc')
| -rw-r--r-- | runtime/oat.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/runtime/oat.cc b/runtime/oat.cc index defda6bb1a..94897950e0 100644 --- a/runtime/oat.cc +++ b/runtime/oat.cc @@ -22,13 +22,14 @@ namespace art { const uint8_t OatHeader::kOatMagic[] = { 'o', 'a', 't', '\n' }; -const uint8_t OatHeader::kOatVersion[] = { '0', '0', '9', '\0' }; +const uint8_t OatHeader::kOatVersion[] = { '0', '1', '0', '\0' }; OatHeader::OatHeader() { memset(this, 0, sizeof(*this)); } OatHeader::OatHeader(InstructionSet instruction_set, + const InstructionSetFeatures& instruction_set_features, const std::vector<const DexFile*>* dex_files, uint32_t image_file_location_oat_checksum, uint32_t image_file_location_oat_data_begin, @@ -42,6 +43,9 @@ OatHeader::OatHeader(InstructionSet instruction_set, instruction_set_ = instruction_set; UpdateChecksum(&instruction_set_, sizeof(instruction_set_)); + instruction_set_features_ = instruction_set_features; + UpdateChecksum(&instruction_set_features_, sizeof(instruction_set_features_)); + dex_file_count_ = dex_files->size(); UpdateChecksum(&dex_file_count_, sizeof(dex_file_count_)); @@ -99,6 +103,11 @@ InstructionSet OatHeader::GetInstructionSet() const { return instruction_set_; } +const InstructionSetFeatures& OatHeader::GetInstructionSetFeatures() const { + CHECK(IsValid()); + return instruction_set_features_; +} + uint32_t OatHeader::GetExecutableOffset() const { DCHECK(IsValid()); DCHECK_ALIGNED(executable_offset_, kPageSize); |