diff options
Diffstat (limited to 'compiler/compiled_method.h')
-rw-r--r-- | compiler/compiled_method.h | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/compiler/compiled_method.h b/compiler/compiled_method.h index d6a07f6226..6013507ac4 100644 --- a/compiler/compiled_method.h +++ b/compiler/compiled_method.h @@ -27,6 +27,10 @@ #include "utils/array_ref.h" #include "utils/swap_space.h" +namespace llvm { + class Function; +} // namespace llvm + namespace art { class CompilerDriver; @@ -35,9 +39,7 @@ class CompiledCode { public: // For Quick to supply an code blob CompiledCode(CompilerDriver* compiler_driver, InstructionSet instruction_set, - const ArrayRef<const uint8_t>& quick_code, bool owns_code_array); - - virtual ~CompiledCode(); + const ArrayRef<const uint8_t>& quick_code); InstructionSet GetInstructionSet() const { return instruction_set_; @@ -54,8 +56,8 @@ class CompiledCode { // To align an offset from a page-aligned value to make it suitable // for code storage. For example on ARM, to ensure that PC relative // valu computations work out as expected. - size_t AlignCode(size_t offset) const; - static size_t AlignCode(size_t offset, InstructionSet instruction_set); + uint32_t AlignCode(uint32_t offset) const; + static uint32_t AlignCode(uint32_t offset, InstructionSet instruction_set); // returns the difference between the code address and a usable PC. // mainly to cope with kThumb2 where the lower bit must be set. @@ -76,9 +78,6 @@ class CompiledCode { const InstructionSet instruction_set_; - // If we own the code array (means that we free in destructor). - const bool owns_code_array_; - // Used to store the PIC code for Quick. SwapVector<uint8_t>* quick_code_; @@ -123,7 +122,6 @@ class SrcMap FINAL : public std::vector<SrcMapElem, Allocator> { using std::vector<SrcMapElem, Allocator>::size; explicit SrcMap() {} - explicit SrcMap(const Allocator& alloc) : std::vector<SrcMapElem, Allocator>(alloc) {} template <class InputIt> SrcMap(InputIt first, InputIt last, const Allocator& alloc) @@ -293,7 +291,7 @@ class CompiledMethod FINAL : public CompiledCode { const ArrayRef<const uint8_t>& cfi_info, const ArrayRef<LinkerPatch>& patches = ArrayRef<LinkerPatch>()); - virtual ~CompiledMethod(); + ~CompiledMethod() {} static CompiledMethod* SwapAllocCompiledMethod( CompilerDriver* driver, @@ -349,9 +347,9 @@ class CompiledMethod FINAL : public CompiledCode { return mapping_table_; } - const SwapVector<uint8_t>* GetVmapTable() const { + const SwapVector<uint8_t>& GetVmapTable() const { DCHECK(vmap_table_ != nullptr); - return vmap_table_; + return *vmap_table_; } SwapVector<uint8_t> const* GetGcMap() const { @@ -367,8 +365,6 @@ class CompiledMethod FINAL : public CompiledCode { } private: - // Whether or not the arrays are owned by the compiled method or dedupe sets. - const bool owns_arrays_; // For quick code, the size of the activation used by the code. const size_t frame_size_in_bytes_; // For quick code, a bit mask describing spilled GPR callee-save registers. |