From c50d8e11a098cc5c6239aa86b47d4fcf8cbb4899 Mon Sep 17 00:00:00 2001 From: Brian Carlstrom Date: Tue, 23 Jul 2013 22:35:16 -0700 Subject: Remove OatWriter buffering to memory for ElfWriterQuick This allows the oat contents to be directly written to the file. Change-Id: Ibc7ddf57477b152f07784b52f7334be73fd22833 --- compiler/driver/compiler_driver.cc | 6 +++--- compiler/driver/compiler_driver.h | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'compiler/driver') diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index 1f66730..ea2291c 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -2343,13 +2343,13 @@ bool CompilerDriver::RequiresConstructorBarrier(Thread* self, const DexFile* dex bool CompilerDriver::WriteElf(const std::string& android_root, bool is_host, const std::vector& dex_files, - std::vector& oat_contents, + OatWriter& oat_writer, art::File* file) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { #if defined(ART_USE_PORTABLE_COMPILER) - return art::ElfWriterMclinker::Create(file, oat_contents, dex_files, android_root, is_host, *this); + return art::ElfWriterMclinker::Create(file, oat_writer, dex_files, android_root, is_host, *this); #else - return art::ElfWriterQuick::Create(file, oat_contents, dex_files, android_root, is_host, *this); + return art::ElfWriterQuick::Create(file, oat_writer, dex_files, android_root, is_host, *this); #endif } void CompilerDriver::InstructionSetToLLVMTarget(InstructionSet instruction_set, diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h index 1799057..f3f72dd 100644 --- a/compiler/driver/compiler_driver.h +++ b/compiler/driver/compiler_driver.h @@ -39,6 +39,7 @@ namespace art { class AOTCompilationStats; class ParallelCompilationManager; class DexCompilationUnit; +class OatWriter; class TimingLogger; enum CompilerBackend { @@ -192,7 +193,7 @@ class CompilerDriver { bool WriteElf(const std::string& android_root, bool is_host, const std::vector& dex_files, - std::vector& oat_contents, + OatWriter& oat_writer, File* file); // TODO: move to a common home for llvm helpers once quick/portable are merged -- cgit v1.1