diff options
author | Andreas Gampe <agampe@google.com> | 2015-04-08 00:37:23 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-04-08 00:37:25 +0000 |
commit | 40f65560b5ecd79aeaadc16b03834d11aea1e0a5 (patch) | |
tree | b93fb2f045a4f47f8b6e3c8541a07781dcce2c77 /compiler/optimizing/optimizing_compiler.cc | |
parent | d2b9c0ca73a01cc31482a54cbcae1b3ac85379b8 (diff) | |
parent | 3c54b0023fca579aae006dfa607fb14de5846c42 (diff) | |
download | art-40f65560b5ecd79aeaadc16b03834d11aea1e0a5.zip art-40f65560b5ecd79aeaadc16b03834d11aea1e0a5.tar.gz art-40f65560b5ecd79aeaadc16b03834d11aea1e0a5.tar.bz2 |
Merge "ART: Fix 64-bit ELF file support"
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 90a530a..12798ed 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -204,8 +204,13 @@ class OptimizingCompiler FINAL : public Compiler { const std::vector<const art::DexFile*>& dex_files, const std::string& android_root, bool is_host) const OVERRIDE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { - return art::ElfWriterQuick32::Create(file, oat_writer, dex_files, android_root, is_host, - *GetCompilerDriver()); + if (kProduce64BitELFFiles && Is64BitInstructionSet(GetCompilerDriver()->GetInstructionSet())) { + return art::ElfWriterQuick64::Create(file, oat_writer, dex_files, android_root, is_host, + *GetCompilerDriver()); + } else { + return art::ElfWriterQuick32::Create(file, oat_writer, dex_files, android_root, is_host, + *GetCompilerDriver()); + } } void InitCompilationUnit(CompilationUnit& cu) const OVERRIDE; |